/* Base visual compartilhada — Giacomini Ferramentas */
:root { --verde-principal:#126b38; --verde-escuro:#08391d; --verde-destaque:#24a85a; --verde-suave:#e8f5ec; --grafite:#19231c; --preto:#172019; --cinza-escuro:#48534b; --fundo:#f5f7f4; --branco:#fff; --texto:#465148; --borda:#dce4dc; --raio:14px; --sombra:0 12px 32px rgba(15,50,27,.09); --transicao:180ms ease; }
* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { min-height:100vh; background:var(--fundo); color:var(--texto); font-family:"Segoe UI",Roboto,Arial,sans-serif; line-height:1.5; overflow-x:hidden; }
button,input,select { font:inherit; } button { cursor:pointer; } a { color:inherit; }
header { min-height:72px; padding:11px clamp(18px,5vw,72px); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; background:linear-gradient(105deg,var(--verde-escuro),var(--verde-principal)); box-shadow:0 4px 18px rgba(5,35,17,.22); position:sticky; top:0; z-index:1000; }
.logo-container { display:inline-flex; align-items:center; gap:11px; justify-self:center; text-decoration:none; }.logo-img { width:45px; height:45px; object-fit:contain; border-radius:10px; border:1px solid rgba(255,255,255,.62); background:#fff; padding:2px; }.logo-texto { color:#fff; font-size:1.32rem; font-weight:850; letter-spacing:.075em; text-transform:uppercase; }
.btn-menu { justify-self:start; display:inline-flex; align-items:center; gap:9px; padding:10px 12px; border:1px solid rgba(255,255,255,.22); border-radius:9px; color:#fff; background:rgba(255,255,255,.08); font-size:.82rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; transition:var(--transicao); }.btn-menu:hover { background:rgba(255,255,255,.18); }.icone-menu { font-size:1.25rem; }
.icone-carrinho-topo { justify-self:end; position:relative; display:grid; width:42px; height:42px; place-items:center; border:1px solid rgba(255,255,255,.22); border-radius:50%; color:#fff; font-size:1.15rem; text-decoration:none; transition:var(--transicao); }.icone-carrinho-topo:hover { background:#fff; color:var(--verde-principal); transform:translateY(-2px); }.badge-carrinho { position:absolute; top:-7px; right:-8px; display:grid; min-width:21px; height:21px; place-items:center; padding:0 4px; border:2px solid var(--verde-principal); border-radius:999px; background:#f05a45; color:#fff; font-size:.7rem; font-weight:800; }
.faixa-pesquisa { display:flex; justify-content:center; padding:15px 20px; background:#0b4826; }.box-pesquisa { display:flex; width:min(100%,790px); overflow:hidden; border:1px solid rgba(255,255,255,.24); border-radius:11px; background:#fff; box-shadow:0 5px 16px rgba(0,0,0,.18); }.box-pesquisa input { min-width:0; flex:1; border:0; padding:13px 17px; outline:none; color:var(--grafite); }.box-pesquisa input:focus { box-shadow:inset 0 0 0 2px var(--verde-destaque); }.box-pesquisa button { width:54px; border:0; background:var(--verde-destaque); color:#fff; font-size:1rem; transition:var(--transicao); }.box-pesquisa button:hover { background:var(--verde-principal); }
.gaveta { position:fixed; top:0; left:-360px; z-index:2000; display:flex; flex-direction:column; width:min(330px,88vw); height:100dvh; padding:26px 18px; background:#fff; box-shadow:12px 0 35px rgba(0,0,0,.2); transition:left 260ms ease; }.gaveta.aberto { left:0; }.gaveta-header { display:flex; align-items:center; justify-content:space-between; padding:0 5px 18px; margin-bottom:16px; border-bottom:1px solid var(--borda); }.gaveta-header h2 { color:var(--verde-escuro); font-size:1.1rem; text-transform:uppercase; letter-spacing:.06em; }.btn-fechar-menu { display:grid; width:38px; height:38px; place-items:center; border:0; border-radius:9px; background:var(--fundo); color:var(--grafite); transition:var(--transicao); }.btn-fechar-menu:hover { background:#fee9e5; color:#bf3929; }.menu-links { display:grid; gap:5px; }.menu-links a { display:flex; align-items:center; gap:13px; padding:13px 12px; border-radius:9px; color:var(--grafite); font-size:.96rem; font-weight:650; text-decoration:none; transition:var(--transicao); }.menu-links a i { width:18px; color:var(--verde-principal); text-align:center; }.menu-links a:hover { background:var(--verde-suave); color:var(--verde-escuro); transform:translateX(3px); } #overlay { display:none; position:fixed; inset:0; z-index:1500; background:rgba(9,22,13,.56); backdrop-filter:blur(2px); }
.btn-zap-flutuante { position:fixed; right:26px; bottom:26px; z-index:999; display:grid; width:58px; height:58px; place-items:center; border:3px solid #fff; border-radius:50%; background:#25d366; color:#fff; box-shadow:0 10px 24px rgba(37,211,102,.38); text-decoration:none; transition:var(--transicao); }.btn-zap-flutuante:hover { transform:translateY(-4px) scale(1.04); }.btn-zap-flutuante i { font-size:2rem; }
footer { margin-top:70px; padding:58px 20px 30px; background:#082d18; color:rgba(255,255,255,.82); text-align:center; } footer h3 { color:#fff; margin-bottom:8px; font-size:1.55rem; letter-spacing:.06em; text-transform:uppercase; }.contato-rodape { margin-top:12px; font-size:.92rem; }.social-links { display:flex; justify-content:center; gap:12px; margin:24px 0; }.social-links a { display:grid; width:42px; height:42px; place-items:center; border-radius:50%; background:rgba(255,255,255,.1); color:#fff; text-decoration:none; transition:var(--transicao); }.social-links a:hover { background:var(--verde-destaque); transform:translateY(-3px); }.creditos-rodape { max-width:800px; margin:22px auto 0; padding-top:18px; border-top:1px solid rgba(255,255,255,.14); font-size:.78rem; opacity:.75; }
@media (max-width:600px) { header { min-height:64px; padding:9px 14px; }.logo-img { width:40px; height:40px; }.logo-texto { display:none; }.btn-menu { padding:9px; font-size:0; }.btn-menu i { font-size:1.2rem; }.btn-zap-flutuante { right:17px; bottom:17px; width:54px; height:54px; } footer { margin-top:48px; padding-top:44px; } }
