/* ===== Vidraçaria Vibox — Estilos gerais ===== */
:root{
    --azul-escuro: #0b2e4f;
    --azul: #0f4c81;
    --azul-claro: #1e88c7;
    --ciano: #4fd1e3;
    --cinza-escuro: #1c2530;
    --cinza: #5b6b7a;
    --cinza-claro: #f4f7fa;
    --branco: #ffffff;
    --sombra: 0 10px 30px rgba(11,46,79,.12);
    --raio: 14px;
    --fonte-titulo: 'Poppins', sans-serif;
    --fonte-texto: 'Inter', sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--fonte-texto);color:var(--cinza-escuro);line-height:1.6;background:var(--branco);}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
ul{list-style:none;}
.container{width:92%;max-width:1200px;margin:0 auto;}
h1,h2,h3,h4{font-family:var(--fonte-titulo);color:var(--azul-escuro);line-height:1.25;}
section{padding:80px 0;}

/* Topbar */
.topbar{background:var(--azul-escuro);color:#cfe3f5;font-size:.85rem;}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;padding:8px 0;flex-wrap:wrap;gap:6px;}
.topbar-info a,.topbar-info span{color:#cfe3f5;margin-right:18px;}
.topbar-social a{color:#cfe3f5;margin-left:14px;}
.topbar-info a:hover,.topbar-social a:hover{color:var(--ciano);}

/* Header */
.site-header{background:var(--branco);box-shadow:0 2px 12px rgba(0,0,0,.06);position:sticky;top:0;z-index:100;}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:16px 0;}
.logo img{height:56px;}
.logo-text{font-family:var(--fonte-titulo);font-weight:800;font-size:1.5rem;color:var(--azul-escuro);}
.logo-text::first-letter{color:var(--azul-claro);}
.main-nav{display:flex;align-items:center;gap:28px;}
.main-nav a{font-weight:500;color:var(--cinza-escuro);transition:.2s;}
.main-nav a:hover,.main-nav a.active{color:var(--azul-claro);}
.btn-whatsapp-nav{background:linear-gradient(135deg,var(--azul-claro),var(--ciano));color:#fff !important;padding:10px 22px;border-radius:30px;font-weight:600;}
.btn-whatsapp-nav:hover{opacity:.9;}
.menu-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px;}
.menu-toggle span{width:26px;height:3px;background:var(--azul-escuro);border-radius:2px;}

/* Hero / Slider */
.hero{position:relative;overflow:hidden;background:var(--azul-escuro);}
.hero-slide{position:relative;height:560px;display:none;}
.hero-slide.active{display:block;}
.hero-slide img{width:100%;height:100%;object-fit:cover;opacity:.55;}
.hero-caption{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 8%;background:linear-gradient(90deg,rgba(11,46,79,.85) 30%,rgba(11,46,79,.15));}
.hero-caption h2{color:#fff;font-size:2.6rem;max-width:600px;margin-bottom:14px;}
.hero-caption p{color:#dfeefc;font-size:1.15rem;max-width:520px;margin-bottom:26px;}
.hero-dots{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:10px;}
.hero-dots span{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;}
.hero-dots span.active{background:var(--ciano);}

.btn{display:inline-block;padding:14px 32px;border-radius:30px;font-weight:600;font-family:var(--fonte-titulo);transition:.25s;border:none;cursor:pointer;font-size:1rem;}
.btn-primary{background:linear-gradient(135deg,var(--azul-claro),var(--ciano));color:#fff;}
.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--sombra);}
.btn-outline{background:transparent;border:2px solid #fff;color:#fff;}
.btn-outline:hover{background:#fff;color:var(--azul-escuro);}

/* Section heading */
.section-head{text-align:center;max-width:640px;margin:0 auto 50px;}
.section-head span.eyebrow{color:var(--azul-claro);font-weight:700;letter-spacing:1px;text-transform:uppercase;font-size:.85rem;}
.section-head h2{font-size:2.1rem;margin:8px 0 14px;}
.section-head p{color:var(--cinza);}

/* Serviços */
.servicos{background:var(--cinza-claro);}
.servicos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:28px;}
.servico-card{background:#fff;border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra);transition:.25s;}
.servico-card:hover{transform:translateY(-6px);}
.servico-card .imgwrap{height:210px;overflow:hidden;}
.servico-card .imgwrap img{width:100%;height:100%;object-fit:cover;transition:.4s;}
.servico-card:hover .imgwrap img{transform:scale(1.08);}
.servico-card .conteudo{padding:22px;}
.servico-card h3{font-size:1.2rem;margin-bottom:10px;}
.servico-card p{color:var(--cinza);font-size:.95rem;}

/* Sobre */
.sobre{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.sobre img{border-radius:var(--raio);box-shadow:var(--sombra);}
.sobre h2{font-size:2rem;margin-bottom:18px;}
.sobre p{color:var(--cinza);margin-bottom:20px;}
.sobre-lista{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:26px;}
.sobre-lista li{display:flex;align-items:center;gap:10px;font-weight:500;color:var(--azul-escuro);}
.sobre-lista li::before{content:"✔";color:var(--azul-claro);font-weight:700;}

/* Depoimentos */
.depoimentos{background:var(--azul-escuro);color:#fff;}
.depoimentos .section-head h2{color:#fff;}
.depoimentos .section-head p{color:#b9d3e8;}
.depo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:26px;}
.depo-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--raio);padding:26px;}
.depo-card .estrelas{color:#ffc94d;margin-bottom:12px;}
.depo-card p{color:#dfeefc;font-style:italic;margin-bottom:16px;}
.depo-card .nome{font-weight:700;color:#fff;}

/* CTA */
.cta{background:linear-gradient(135deg,var(--azul-claro),var(--ciano));text-align:center;color:#fff;}
.cta h2{color:#fff;font-size:2rem;margin-bottom:14px;}
.cta p{margin-bottom:26px;color:#eafcff;}

/* Contato */
.contato-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;}
.contato-info h3{margin-bottom:10px;}
.contato-info ul{margin-top:20px;}
.contato-info li{margin-bottom:14px;padding-left:2px;color:var(--cinza);}
.contato-info li strong{color:var(--azul-escuro);display:block;}
form.form-contato{background:var(--cinza-claro);padding:30px;border-radius:var(--raio);}
.form-contato .campo{margin-bottom:18px;}
.form-contato label{display:block;margin-bottom:6px;font-weight:600;font-size:.9rem;color:var(--azul-escuro);}
.form-contato input,.form-contato textarea{width:100%;padding:12px 14px;border:1px solid #d6dfe7;border-radius:8px;font-family:var(--fonte-texto);font-size:.95rem;}
.form-contato textarea{resize:vertical;min-height:120px;}
.form-contato input:focus,.form-contato textarea:focus{outline:none;border-color:var(--azul-claro);}
.alerta{padding:14px 18px;border-radius:8px;margin-bottom:20px;font-weight:500;}
.alerta.sucesso{background:#e3f8e9;color:#1c7a3b;}
.alerta.erro{background:#fdeaea;color:#c0392b;}
.mapa{border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra);margin-top:26px;}
.mapa iframe{width:100%;height:280px;border:0;display:block;}

/* Footer */
.site-footer{background:var(--cinza-escuro);color:#c6d1db;padding-top:60px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px;padding-bottom:40px;}
.footer-logo{color:#fff;}
.footer-col h4{color:#fff;margin-bottom:14px;font-size:1rem;}
.footer-col p{font-size:.92rem;color:#a9b7c3;}
.footer-social{margin-top:16px;display:flex;gap:14px;}
.footer-social a{color:#a9b7c3;}
.footer-social a:hover{color:var(--ciano);}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding:18px 0;text-align:center;font-size:.85rem;color:#8ea0b0;}

/* WhatsApp flutuante */
.whatsapp-float{position:fixed;bottom:24px;right:24px;background:#25D366;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.25);z-index:200;transition:.2s;}
.whatsapp-float:hover{transform:scale(1.08);}

/* Responsivo */
@media(max-width:900px){
    .sobre,.contato-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
    .topbar-inner{font-size:.75rem;}
    .menu-toggle{display:flex;}
    .main-nav{position:absolute;top:100%;left:0;width:100%;background:#fff;flex-direction:column;align-items:flex-start;padding:20px 6%;gap:16px;box-shadow:0 8px 16px rgba(0,0,0,.08);display:none;}
    .main-nav.open{display:flex;}
    .hero-slide{height:440px;}
    .hero-caption h2{font-size:1.8rem;}
    .footer-grid{grid-template-columns:1fr;text-align:center;}
    .footer-social{justify-content:center;}
    section{padding:56px 0;}
}
