html {
  scroll-behavior: smooth;
}
/* ======================================================
RESET
====================================================== */

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

body{
font-family:'Nunito',sans-serif;
background:#F5EFE7;
color:#333;
line-height:1.6;
}

/* ======================================================
VARIÁVEIS
====================================================== */

:root{

--color-bg-primary:#F5EFE7;
--color-bg-white:#FFFFFF;
--color-bg-cta:#7B4B3A;

--color-btn-primary:#7B4B3A;
--color-btn-primary-hover:#6a4031;

--color-btn-secondary:#F4B400;
--color-btn-secondary-hover:#e0a800;

--color-text-dark:#333333;
--color-text-light:#FFFFFF;

--container-max-width:1100px;

--border-radius:16px;

}

/* ======================================================
LAYOUT
====================================================== */

.container{
max-width:var(--container-max-width);
margin:0 auto;
padding:0 20px;
}

section{
padding:60px 0;
}

img{
max-width:100%;
height:auto;
display:block;
border-radius:16px;
}

/* ======================================================
TIPOGRAFIA
====================================================== */

.section-title{
font-family:'Quicksand',sans-serif;
font-size:32px;
text-align:center;
margin-bottom:20px;
}

.section-subtitle{
text-align:center;
font-size:18px;
max-width:720px;
margin:0 auto 40px;
}

.white{
color:white;
}

/* ======================================================
BOTÕES
====================================================== */

.btn{
display:inline-block;
padding:14px 28px;
border-radius:40px;
font-weight:bold;
text-decoration:none;
transition:0.3s;
}

.btn-primary{
background:var(--color-btn-primary);
color:white;
}

.btn-primary:hover{
background:var(--color-btn-primary-hover);
}

.btn-secondary{
background:var(--color-btn-secondary);
color:#333;
}

.btn-secondary:hover{
background:var(--color-btn-secondary-hover);
}

/* ======================================================
HERO
====================================================== */

.hero-section {
    background-color: var(--color-bg-primary);
    padding:60px 20px;
    text-align:center;
}

.badge{
    display:inline-block;
    background:#7B4B3A;
    color:white;
    font-size:14px;
    font-weight:600;
    padding:8px 20px;
    border-radius:20px;
    margin-bottom:10px;
    text-transform:uppercase;
    letter-spacing:0.5px;
}

.hero-title{
    font-size:48px;
    margin-bottom:15px;
    color:#333;
}

.hero-description{
    font-size:18px;
    max-width:800px;
    margin:0 auto 25px;
    line-height:1.8;
}

.hero-image-wrapper{
    margin:30px auto;
    max-width:850px; /* aumentei de 750px para 850px */
    width:90%;       /* deixa a imagem responsiva mas não total */
}

.hero-image-wrapper img{
    width:100%;
    height:auto;
    display:block;
    border-radius:18px;
    box-shadow:0 10px 40px rgba(0,0,0,0.1);
}

/* ======================================================
CARROSSEL
====================================================== */

.carousel-wrapper{
display:flex;
gap:16px;
overflow-x:auto;
scroll-snap-type:x mandatory;
}

.carousel-wrapper img{
border-radius:14px;
flex-shrink:0;
scroll-snap-align:start;
}

/* ======================================================
BONUS
====================================================== */

.bonus-section{
background:#ffffff;
}

.bonus-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:30px;
}

.bonus-card{
    background: #F5EFE7; /* tom de bege claro para destacar */
    padding: 25px;
    border-radius: var(--border-radius);
    text-align: center;
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

.bonus-image img{
margin:0 auto 20px;
width:100%;
max-width:320px;
border-radius:18px;
}

.bonus-title{
font-family:'Quicksand',sans-serif;
font-size:20px;
margin-bottom:10px;
}

.bonus-description{
font-size:15px;
}

.bonus-value{
margin-top:10px;
}

.strikethrough{
text-decoration:line-through;
}

/* ======================================================
BENEFITS
====================================================== */

.benefits-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:30px;
}

.benefit-card{
background:white;
padding:25px;
border-radius:var(--border-radius);
text-align:center;
}

.benefit-icon{
font-size:30px;
color:#7B4B3A;
margin-bottom:10px;
}

.benefit-title{
font-size:18px;
}

/* ======================================================
FAITH BENEFITS
====================================================== */

.faith-benefits-section{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:40px;
max-width:1100px;
margin:auto;
padding:80px 20px;
}

.faith-benefit-item{
text-align:center;
}

.faith-benefit-item h3{
font-size:28px;
font-weight:800;
margin-bottom:25px;
color:#3b2f2a;
line-height:1.4;
max-width:340px;
margin-left:auto;
margin-right:auto;
}

.faith-benefit-item img{
width:100%;
border-radius:20px;
aspect-ratio:4/5;
object-fit:cover;
box-shadow:0 15px 35px rgba(0,0,0,0.08);
}

/* ======================================================
DETAILED BENEFITS
====================================================== */

.two-column-layout{
display:grid;
grid-template-columns:1fr 1fr;
gap:40px;
align-items:center;
}

.image-column img{
width:100%;
max-width:480px;
margin:auto;
border-radius:18px;
}

.checklist-item{
display:flex;
gap:10px;
margin-bottom:15px;
}

.check-icon{
color:#7B4B3A;
}

/* ======================================================
TESTIMONIALS
====================================================== */

.testimonials-section{
background:#fff;
}

.testimonials-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:30px;
}

.testimonial-card{
background:#fafafa;
padding:25px;
border-radius:var(--border-radius);
}

.stars{
color:#F4B400;
margin-bottom:10px;
}

.testimonial-text{
font-style:italic;
margin-bottom:10px;
}

.testimonial-author{
font-weight:bold;
}

/* ======================================================
OFERTA
====================================================== */

.offer-section{
background:var(--color-bg-cta);
color:white;
text-align:center;
}

.current-price{
font-size:48px;
font-weight:bold;
color:#F4B400;
}

.offer-details{
margin-bottom:20px;
}

/* ======================================================
GARANTIA
====================================================== */

.guarantee-box{
margin-top:30px;
padding:20px;
background:rgba(255,255,255,0.15);
border-radius:var(--border-radius);
}

.guarantee-icons{
font-size:24px;
margin-bottom:10px;
}

/* ======================================================
FAQ
(NÃO ALTERADO)
====================================================== */

.faq-section{
background-color:#F5EFE7;
padding:60px 20px;
}

.faq-container{
max-width:800px;
margin:40px auto 0;
}

.faq-item{
background:#ffffff;
border-radius:12px;
margin-bottom:15px;
overflow:hidden;
box-shadow:0 3px 12px rgba(0,0,0,0.06);
}

.faq-question{
width:100%;
padding:22px 25px;
border:none;
background:none;
display:flex;
justify-content:space-between;
align-items:center;
font-size:18px;
font-weight:700;
cursor:pointer;
}

.faq-answer{
max-height:0;
overflow:hidden;
padding:0 25px;
transition:max-height 0.35s ease, padding 0.35s ease;
}

.faq-item.active .faq-answer{
max-height:500px;
padding:0 25px 22px;
}

/* ======================================================
FOOTER
(NÃO ALTERADO)
====================================================== */

.footer{
background-color:#2C2C2C !important;
padding:40px 20px;
text-align:center;
}

.footer .whatsapp-link{
display:inline-flex;
align-items:center;
justify-content:center;
gap:10px;
color:#FFFFFF !important;
font-size:18px;
text-decoration:none;
margin-bottom:15px;
transition:color 0.3s ease;
}

.footer .whatsapp-link:hover{
color:#25D366 !important;
}

.footer .whatsapp-link i{
font-size:24px;
}

.footer .footer-text{
color:rgba(255,255,255,0.7) !important;
font-size:14px;
margin-top:10px;
}

/* ======================================================
RESPONSIVO
====================================================== */

@media(max-width:768px){

.section-title{
font-size:26px;
}

.section-subtitle{
font-size:16px;
}

.current-price{
font-size:36px;
}

.two-column-layout{
grid-template-columns:1fr;
}

.hero-section{
padding:40px 20px;
}

.hero-image-wrapper {
        max-width: 95% !important; /* aumenta o tamanho da hero no mobile */
        width: 95% !important;     /* deixa responsivo, mas não total */
        margin: 25px auto !important;
    }

    .hero-image-wrapper img {
        width: 100% !important;
        height: auto !important;
        border-radius: 18px;
        box-shadow: 0 10px 40px rgba(0,0,0,0.1);
    }

.faith-benefits-section{
grid-template-columns:1fr;
gap:70px;
padding:70px 35px;
}

.faith-benefit-item img{
width:85%;
margin:30px auto 0;
}

.bonus-image img{
width:85%;
margin:auto;
}

.image-column img{
width:90%;
}

}
.faq-icon{
    text-align: center;
    font-faq-iconsize: 80px;
    color: var(--color-btn-primary);
    margin-bottom: 35px;
}

.faq-icon i{
    display: inline-block;
}
/* Evita aumento automático de fontes no Instagram WebView */
.offer-section h2,
.offer-section p,
.offer-section span,
.offer-section .btn {
    -webkit-text-size-adjust: 100% !important;
}

@media (max-width: 768px) {
    .offer-section h2 {
        font-size: 20px !important;
        line-height: 1.2 !important;
    }
    .offer-section p {
        font-size: 14px !important;
        line-height: 1.3 !important;
    }
    .offer-section .btn {
        font-size: 16px !important;
        padding: 14px !important;
    }
}
/* Outras regras de CSS da sua página aqui... */

/* Colocar este bloco **no final** */
@supports (-webkit-touch-callout: none) {
    body, body * {
        -webkit-text-size-adjust: 100% !important;
    }
}
/* Botão CTA mais clicável */
.offer-section .btn {
    background: linear-gradient(180deg, #FFC72C, #F4B400);
    color: #333 !important;
    font-weight: 700 !important;
    border-radius: 50px !important;
    
    box-shadow: 
        0 6px 0 #c18e00,
        0 10px 20px rgba(0,0,0,0.25);

    transition: all 0.15s ease;
}

/* Efeito ao tocar */
.offer-section .btn:active {
    transform: translateY(4px);
    box-shadow: 
        0 2px 0 #c18e00,
        0 6px 12px rgba(0,0,0,0.25);
}
/* ======================================================
HEADER
====================================================== */

.site-header{
position:fixed;
top:0;
left:0;
right:0;
width:100%;
max-width:100vw;

background:#7B4B3A;
z-index:9999;

box-shadow:0 3px 12px rgba(0,0,0,0.2);
overflow:hidden;

/* evita zoom de texto no WebView */
-webkit-text-size-adjust:100% !important;
}

.site-header *{
-webkit-text-size-adjust:100% !important;
}

.header-container{
max-width:var(--container-max-width);
margin:auto;

display:flex;
align-items:center;
justify-content:space-between;

padding:12px 20px;
gap:12px;

width:100%;
}

/* ======================================================
LOGO
====================================================== */

.header-logo{
font-family:'Quicksand',sans-serif;
font-weight:700;
color:white;
font-size:18px;

white-space:nowrap;
}

/* ======================================================
BOTÃO MENU
====================================================== */

.menu-toggle{
color:white;
font-size:22px;
cursor:pointer;

flex-shrink:0;
}

/* ======================================================
BOTÃO COMPRA
====================================================== */

.header-buy{
background:#F4B400;
color:#333;

padding:8px 18px;
border-radius:30px;

font-weight:bold;
text-decoration:none;

box-shadow:0 4px 10px rgba(0,0,0,0.25);

white-space:nowrap; /* impede quebra */
flex-shrink:0;      /* impede compressão */

font-size:14px;
}

/* ======================================================
MENU MOBILE
====================================================== */

.mobile-menu{
position:fixed;
top:60px;
left:0;
width:100%;
max-width:100vw;

background:white;

display:none;
flex-direction:column;

padding:20px;

box-shadow:0 8px 20px rgba(0,0,0,0.1);

z-index:9998;
}

.mobile-menu a{
padding:14px 0;

font-size:18px;
font-weight:600;

text-decoration:none;
color:#333;

border-bottom:1px solid #eee;
}

.mobile-menu a:last-child{
border:none;
}

/* ======================================================
AJUSTE GLOBAL WEBVIEW
====================================================== */

html,body{
max-width:100vw;
overflow-x:hidden;
}

/* espaço para header fixo */

body{
padding-top:65px;
}

/* ======================================================
RESPONSIVO
====================================================== */

/* esconder título no mobile para evitar quebra */

@media (max-width:768px){

.header-logo{
display:none;
}

}

/* telas pequenas */

@media (max-width:380px){

.header-buy{
font-size:13px;
padding:7px 16px;
}

.menu-toggle{
font-size:20px;
}

}