/* ============================================================
   FREE WI-FI BRASIL — Landing Page
   HTML/CSS puro, fácil de editar
   ============================================================ */

/* --- RESET & BASE --- */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;color:#1f2937;line-height:1.6;background:#FBF7F2}
img{max-width:100%;height:auto;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}

/* --- UTILITIES --- */
.container{max-width:1152px;margin:0 auto;padding:0 16px}
.container-sm{max-width:768px;margin:0 auto;padding:0 16px}
.text-center{text-align:center}
.text-orange{color:#f97316}
.text-gray{color:#4b5563}
.text-white{color:#fff}
.text-white-60{color:rgba(255,255,255,.6)}
.flex-center{display:flex;align-items:center;justify-content:center}
.inline-flex{display:inline-flex;align-items:center;gap:8px}
.mt-10{margin-top:40px}
.mt-12{margin-top:48px}
.mb-8{margin-bottom:32px}
.gap-6{gap:24px}

/* --- SECTIONS --- */
.section{padding:128px 0}
.bg-cream{background:#FBF7F2}
.bg-sand{background:#F0E8DD}
.bg-dark{background:#0C2D48}

/* --- TYPOGRAPHY --- */
h2{font-size:clamp(1.875rem,4vw,2.5rem);font-weight:800;color:#111827;margin-bottom:12px;line-height:1.2}
h3{font-size:1.25rem;font-weight:700;color:#111827;margin-bottom:12px}
h4{font-weight:700;color:#111827;margin-bottom:4px}
.subtitle{color:#4b5563;margin-bottom:48px;font-size:1rem}
blockquote{border-left:4px solid #fb923c;padding-left:16px;font-style:italic;color:#374151;margin-top:24px}

/* --- BUTTONS --- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;border:none;transition:all .2s}
.btn-orange{background:#f97316;color:#fff}
.btn-orange:hover{background:#ea580c}
.btn-glass{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px)}
.btn-glass:hover{background:rgba(255,255,255,.2)}
.btn-lg{padding:16px 32px;font-size:1.125rem;font-weight:700;border-radius:12px}

/* --- NAVBAR --- */
.navbar{position:sticky;top:0;z-index:50;background:#FBF7F2;border-bottom:1px solid #E8DFCF;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.navbar-inner{display:flex;align-items:center;justify-content:space-between;height:96px;position:relative}
.navbar-logo{height:80px;width:auto}
.nav-links{display:flex;align-items:center;gap:32px;position:absolute;left:50%;transform:translateX(-50%)}
.nav-links a{font-size:1rem;font-weight:500;color:#374151;transition:color .2s}
.nav-links a:hover{color:#111827}
.nav-cta{border-radius:9999px;padding:10px 20px}
.mobile-menu-btn{display:none;padding:8px;border:none;background:transparent;cursor:pointer;border-radius:8px}
.mobile-menu-btn:hover{background:#F0E8DD}
.mobile-menu{display:none;flex-direction:column;gap:12px;padding:16px;border-top:1px solid #E8DFCF}
.mobile-menu.open{display:flex}
.mobile-menu a{font-size:14px;font-weight:500;color:#374151;padding:8px 0}
@media(max-width:768px){
  .nav-links,.nav-cta{display:none!important}
  .mobile-menu-btn{display:block}
}

/* --- HERO --- */
.hero{position:relative;min-height:80vh;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;overflow:hidden}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,.4),rgba(0,0,0,.6))}
.hero-content{position:relative;z-index:10;max-width:900px;margin:0 auto;padding:80px 16px;text-align:center}
.hero-content h1{font-size:clamp(2.25rem,5vw,4.25rem);font-weight:800;color:#fff;margin-bottom:24px;line-height:1.1}
.hero-content p{font-size:clamp(1rem,2vw,1.25rem);color:rgba(255,255,255,.8);max-width:640px;margin:0 auto 40px}
.hero-buttons{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px}
.badge-white{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:9999px;background:rgba(255,255,255,.15);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:14px;font-weight:500;margin-bottom:32px}

/* --- GRIDS --- */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
@media(max-width:768px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
}

/* --- CARDS --- */
.card{background:#fff;border-radius:16px;border:1px solid #e5e7eb;padding:32px;padding-top:40px;box-shadow:0 1px 3px rgba(0,0,0,.04);transition:box-shadow .2s}
.card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08)}
.card p{color:#4b5563;font-size:14px}
.feature-card{padding:24px;background:#fff;border-radius:16px;border:1px solid #e5e7eb;text-align:left;transition:box-shadow .2s}
.feature-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08)}
.feature-card p{color:#4b5563;font-size:14px;line-height:1.6}
.card-neutral{padding:32px;background:#F8F7F4;border-radius:16px;border:1px solid #E6E2DA;text-align:left}
.card-neutral p{color:#4b5563;font-size:14px;line-height:1.6}
.benefit-card{display:flex;gap:16px;padding:24px;background:#fff;border-radius:16px;border:1px solid #e5e7eb;text-align:left;transition:box-shadow .2s}
.benefit-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08)}
.benefit-card p{color:#4b5563;font-size:14px}

/* --- ICONS --- */
.icon-circle{display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.icon-box{width:64px;height:64px;background:#fff7ed;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;border:1px solid #fed7aa}
.icon-box-sm{width:48px;height:48px;background:#fff7ed;border-radius:12px;display:flex;align-items:center;justify-content:center;border:1px solid #fed7aa;flex-shrink:0}
.icon-circle-lg{width:56px;height:56px;background:#ffedd5;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}
.icon-circle-gray{width:56px;height:56px;background:#E8E4DD;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}

/* --- STEPS --- */
.step-card{position:relative}
.step-number{width:40px;height:40px;background:#f97316;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.125rem;margin:0 auto 24px;position:relative;z-index:10}
.steps-final .step-number{margin-bottom:24px}
.step-card-final{background:#fff;border-radius:16px;padding:32px 24px;box-shadow:0 4px 16px rgba(0,0,0,.06)}

/* --- NUMBERED LIST --- */
.numbered-list{display:flex;flex-direction:column;gap:24px}
.numbered-item{display:flex;gap:16px}
.num-circle{width:32px;height:32px;min-width:32px;background:#f97316;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.numbered-item p{color:#4b5563;font-size:14px}

/* --- IMAGES --- */
.img-wrapper{position:relative}
.rounded-img{width:100%;height:320px;object-fit:cover;border-radius:16px;box-shadow:0 10px 25px rgba(0,0,0,.1)}
.img-badge-red{position:absolute;top:16px;right:16px;background:#ef4444;color:#fff;padding:8px 16px;border-radius:9999px;font-size:14px;font-weight:600;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.img-badge-green{position:absolute;top:16px;right:16px;background:#22c55e;color:#fff;padding:8px 16px;border-radius:9999px;font-size:14px;font-weight:600;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.img-rounded-shadow{border-radius:16px;overflow:hidden;box-shadow:0 10px 25px rgba(0,0,0,.1);background:#FBF7F2}
.phone-mockup{border-radius:16px;box-shadow:0 20px 40px rgba(0,0,0,.15);max-width:384px;width:100%}

/* --- TAGS --- */
.tag-orange{display:inline-block;padding:6px 16px;background:#fff7ed;color:#ea580c;border-radius:9999px;font-size:14px;font-weight:600;margin-bottom:16px;border:1px solid #fed7aa}
.tag-uppercase{display:inline-block;font-size:14px;font-weight:700;color:#f97316;letter-spacing:.05em;text-transform:uppercase;margin-bottom:16px}

/* --- ETAPA HEADER --- */
.etapa-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.etapa-label{font-size:12px;font-weight:700;color:#9ca3af;letter-spacing:.05em}

/* --- SEGMENTS --- */
.segment-card{position:relative;border-radius:16px;overflow:hidden;height:256px;display:flex;align-items:flex-end;padding:32px;box-shadow:0 10px 25px rgba(0,0,0,.1);background-size:cover;background-position:center}
.segment-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6),rgba(0,0,0,.3))}
.segment-text{position:relative;z-index:10;color:#fff}
.segment-text h3{font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:8px}
.segment-text p{color:rgba(255,255,255,.9);font-size:14px}

/* --- STATS --- */
.stat-value{font-size:clamp(2.25rem,4vw,3rem);font-weight:800;color:#f97316;margin-bottom:4px}
.stat-label{font-size:14px;font-weight:700;color:#fff;margin-bottom:4px}
.stat-sub{font-size:12px;color:rgba(255,255,255,.5)}

/* --- PLANS --- */
.plans-grid{align-items:stretch}
.plan-card{position:relative;border-radius:16px;padding:24px;display:flex;flex-direction:column;background:#fff;border:1px solid #e5e7eb;text-align:left}
.plan-card h3{font-size:1.25rem;font-weight:700;margin-bottom:4px}
.plan-target{font-size:14px;color:#6b7280;margin-bottom:24px}
.plan-card ul{flex:1;display:flex;flex-direction:column;gap:12px;margin-bottom:32px}
.plan-card li{display:flex;align-items:flex-start;gap:8px;font-size:14px;color:#374151}
.plan-card li .check{flex-shrink:0;margin-top:2px}
.plan-btn{display:block;text-align:center;padding:12px;border-radius:12px;font-weight:600;font-size:14px;border:1px solid #d1d5db;color:#374151;background:#fff;transition:background .2s}
.plan-btn:hover{background:#f9fafb}
.plan-highlight{background:#f97316;color:#fff;box-shadow:0 10px 25px rgba(249,115,22,.3);transform:scale(1.02)}
.plan-highlight h3{color:#fff}
.plan-highlight .plan-target{color:rgba(255,255,255,.8)}
.plan-highlight li{color:rgba(255,255,255,.9)}
.plan-badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);padding:4px 12px;background:#0C2D48;color:#fff;font-size:12px;font-weight:700;border-radius:9999px;white-space:nowrap}
.plan-btn-white{display:block;text-align:center;padding:12px;border-radius:12px;font-weight:600;font-size:14px;background:#fff;color:#f97316;transition:background .2s}
.plan-btn-white:hover{background:#f9fafb}

/* --- FAQ --- */
.faq-list{display:flex;flex-direction:column;gap:12px}
.faq-item{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}
.faq-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:20px;text-align:left;background:none;border:none;cursor:pointer;font:inherit;transition:background .2s}
.faq-btn:hover{background:#f9fafb}
.faq-btn span{font-weight:600;color:#111827;padding-right:16px}
.faq-chevron{flex-shrink:0;color:#9ca3af;transition:transform .2s}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-answer p{padding:0 20px 20px;color:#4b5563;line-height:1.7}
.faq-item.open .faq-answer{max-height:300px}
.faq-item.open .faq-chevron{transform:rotate(180deg)}

/* --- CONTACT --- */
.contact-info{display:flex;align-items:center;justify-content:center;gap:32px;margin-top:32px;color:#6b7280;font-size:14px}
.contact-info span{display:inline-flex;align-items:center;gap:8px}

/* --- FOOTER --- */
.footer{background:#FBF7F2;border-top:1px solid #E8DFCF;padding:24px 0}
.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.footer p{font-size:14px;color:#6b7280}

/* --- WHATSAPP FLOAT --- */
.whatsapp-float{position:fixed;bottom:24px;right:24px;z-index:50;width:56px;height:56px;background:#25D366;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px rgba(0,0,0,.2);transition:all .3s}
.whatsapp-float:hover{background:#20ba5a;transform:scale(1.1);box-shadow:0 6px 20px rgba(0,0,0,.25)}

/* --- RESPONSIVE --- */
@media(max-width:768px){
  .section{padding:80px 0}
  .contact-info{flex-direction:column;gap:12px}
  .plans-grid{grid-template-columns:1fr!important}
  .plan-highlight{transform:none}
  .footer-inner{justify-content:center;text-align:center}
}
