/* AL SIGNORELLI — Design System */
:root{
  --verde-900:#0d3b1f;
  --verde-700:#1a6b34;
  --verde-500:#2aa84a;
  --verde-400:#4cc36b;
  --verde-300:#7ed897;
  --cinza-900:#1f2328;
  --cinza-700:#3d434b;
  --cinza-500:#6b7280;
  --cinza-300:#d1d5db;
  --cinza-100:#f3f4f6;
  --branco:#ffffff;
  --grad: linear-gradient(135deg, var(--verde-700) 0%, var(--verde-500) 60%, var(--verde-400) 100%);
  --grad-suave: linear-gradient(135deg, #eaf7ee 0%, #ffffff 100%);
  --sombra: 0 8px 30px rgba(13,59,31,.08);
  --raio: 14px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{font-family:'Segoe UI',system-ui,-apple-system,Roboto,sans-serif;color:var(--cinza-900);background:var(--cinza-100);line-height:1.55}
img{max-width:100%;display:block}
a{color:var(--verde-700);text-decoration:none}
a:hover{color:var(--verde-500)}
.container{max-width:1180px;margin:0 auto;padding:0 20px}

/* Header */
.site-header{background:var(--branco);box-shadow:0 2px 12px rgba(0,0,0,.05);position:sticky;top:0;z-index:50}
.nav{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;gap:20px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;color:var(--cinza-900)}
.brand img{width:48px;height:48px;object-fit:contain}
.brand strong{display:block;font-size:18px;letter-spacing:.5px;color:var(--verde-900)}
.brand span{font-size:11px;color:var(--cinza-500);text-transform:uppercase;letter-spacing:1px}
.menu{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.menu a{padding:8px 14px;border-radius:8px;color:var(--cinza-700);font-weight:500;font-size:15px;transition:.2s}
.menu a:hover{background:var(--cinza-100);color:var(--verde-700)}
.menu a.ativo{color:var(--verde-700);background:#eaf7ee}
.btn-primary{background:var(--grad);color:#fff!important;font-weight:600;box-shadow:var(--sombra)}
.btn-primary:hover{filter:brightness(1.05);color:#fff!important}
.btn-ghost{border:1px solid var(--cinza-300)}
.badge-admin{background:var(--cinza-900);color:#fff!important;font-size:12px!important;padding:6px 10px!important;border-radius:6px}

/* Conteudo */
.conteudo{padding:40px 20px;min-height:60vh}

/* Hero */
.hero{background:var(--grad);color:#fff;padding:90px 20px;border-radius:0 0 30px 30px;margin:-40px -20px 50px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 30%,rgba(255,255,255,.15),transparent 60%);pointer-events:none}
.hero-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.3fr .7fr;gap:50px;align-items:center;position:relative;z-index:1}
.hero h1{font-size:48px;line-height:1.1;margin-bottom:18px;font-weight:700;letter-spacing:-.5px}
.hero p.sub{font-size:19px;opacity:.95;margin-bottom:28px;max-width:600px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;padding:13px 26px;border-radius:10px;font-weight:600;font-size:15px;cursor:pointer;border:none;transition:.2s;text-align:center}
.btn-branco{background:#fff;color:var(--verde-700)}
.btn-branco:hover{background:var(--cinza-100);color:var(--verde-900)}
.btn-outline{background:transparent;color:#fff;border:2px solid #fff}
.btn-outline:hover{background:#fff;color:var(--verde-700)}
.hero-logo{display:flex;justify-content:center}
.hero-logo img{width:260px;filter:drop-shadow(0 10px 30px rgba(0,0,0,.25))}

/* Sections */
.section-title{font-size:32px;color:var(--verde-900);margin-bottom:12px;font-weight:700}
.section-sub{color:var(--cinza-500);margin-bottom:36px;font-size:17px}
.section{padding:30px 0}

/* Cards features */
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-bottom:50px}
.feature{background:#fff;padding:30px;border-radius:var(--raio);box-shadow:var(--sombra);border-top:4px solid var(--verde-500);transition:.25s}
.feature:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(13,59,31,.12)}
.feature .ico{width:48px;height:48px;background:var(--grad);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;margin-bottom:16px}
.feature h3{color:var(--verde-900);margin-bottom:8px;font-size:18px}
.feature p{color:var(--cinza-700);font-size:14px}

/* Cards genéricos */
.card{background:#fff;border-radius:var(--raio);padding:24px;box-shadow:var(--sombra)}

/* CTA banner */
.cta-banner{background:var(--grad);color:#fff;padding:50px;border-radius:var(--raio);text-align:center;margin:50px 0}
.cta-banner h2{font-size:28px;margin-bottom:10px}
.cta-banner p{opacity:.9;margin-bottom:22px}

/* Catálogo */
.toolbar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:28px;background:#fff;padding:18px;border-radius:var(--raio);box-shadow:var(--sombra)}
.toolbar input,.toolbar select{padding:11px 14px;border:1px solid var(--cinza-300);border-radius:8px;font-size:14px;font-family:inherit}
.toolbar input{flex:1;min-width:220px}
.toolbar input:focus,.toolbar select:focus{outline:none;border-color:var(--verde-500);box-shadow:0 0 0 3px rgba(42,168,74,.15)}
.grid-produtos{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.produto{background:#fff;border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra);transition:.25s;display:flex;flex-direction:column}
.produto:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(13,59,31,.12)}
.produto .img{aspect-ratio:1;background:var(--grad-suave);display:flex;align-items:center;justify-content:center;overflow:hidden}
.produto .img img{width:100%;height:100%;object-fit:cover}
.produto .img .placeholder{font-size:48px;color:var(--verde-500);opacity:.4}
.produto .info{padding:16px;flex:1;display:flex;flex-direction:column}
.produto .codigo{font-size:11px;color:var(--verde-700);font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px}
.produto h3{font-size:16px;color:var(--cinza-900);margin-bottom:8px}
.produto .desc{color:var(--cinza-500);font-size:13px;flex:1;margin-bottom:12px}
.produto button{margin-top:auto}

/* Forms */
.form{background:#fff;padding:32px;border-radius:var(--raio);box-shadow:var(--sombra);max-width:480px;margin:0 auto}
.form.lg{max-width:760px}
.form h2{color:var(--verde-900);margin-bottom:6px}
.form .sub{color:var(--cinza-500);margin-bottom:24px;font-size:14px}
.campo{margin-bottom:16px}
.campo label{display:block;font-weight:600;font-size:13px;color:var(--cinza-700);margin-bottom:6px}
.campo input,.campo textarea,.campo select{width:100%;padding:11px 14px;border:1px solid var(--cinza-300);border-radius:8px;font-size:14px;font-family:inherit;background:#fff}
.campo textarea{min-height:110px;resize:vertical}
.campo input:focus,.campo textarea:focus,.campo select:focus{outline:none;border-color:var(--verde-500);box-shadow:0 0 0 3px rgba(42,168,74,.15)}
.btn-block{width:100%;padding:14px;background:var(--grad);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:15px;cursor:pointer}
.btn-block:hover{filter:brightness(1.05)}
.alerta{padding:12px 16px;border-radius:8px;margin-bottom:18px;font-size:14px}
.alerta.erro{background:#fee;color:#a01818;border:1px solid #fcc}
.alerta.ok{background:#e8f7ed;color:var(--verde-900);border:1px solid var(--verde-300)}
.link-aux{text-align:center;margin-top:18px;font-size:14px;color:var(--cinza-500)}

/* Tabela */
.tabela{width:100%;background:#fff;border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra);border-collapse:collapse}
.tabela th,.tabela td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--cinza-100);font-size:14px}
.tabela th{background:var(--cinza-100);color:var(--cinza-700);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px}
.tabela tr:last-child td{border-bottom:none}
.tabela tr:hover td{background:#fafbfc}
.status{display:inline-block;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.status.novo{background:#dbeafe;color:#1e40af}
.status.em_analise{background:#fef3c7;color:#92400e}
.status.respondido{background:#e0e7ff;color:#3730a3}
.status.aprovado{background:#d1fae5;color:#065f46}
.status.concluido{background:#dcfce7;color:#14532d}
.status.cancelado{background:#fee2e2;color:#991b1b}

/* Carrinho orçamento */
.carrinho{background:#fff;padding:20px;border-radius:var(--raio);box-shadow:var(--sombra);position:sticky;top:90px}
.carrinho h3{color:var(--verde-900);margin-bottom:14px;font-size:18px}
.carrinho .item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--cinza-100);font-size:14px}
.carrinho .item:last-of-type{border:none}
.carrinho .vazio{color:var(--cinza-500);text-align:center;padding:20px 0;font-size:14px}
.qtd-input{width:60px;padding:4px 8px;border:1px solid var(--cinza-300);border-radius:6px;text-align:center}
.btn-mini{padding:4px 8px;background:#fee;color:#a01818;border:none;border-radius:4px;cursor:pointer;font-size:11px}

/* Layout 2 col */
.layout-2col{display:grid;grid-template-columns:1fr 320px;gap:30px;align-items:start}

/* Contatos */
.contatos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.contato-card{background:#fff;padding:30px;border-radius:var(--raio);box-shadow:var(--sombra);text-align:center;transition:.25s}
.contato-card:hover{transform:translateY(-4px)}
.contato-card .ico{width:60px;height:60px;background:var(--grad);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;margin:0 auto 16px}
.contato-card h3{color:var(--verde-900);margin-bottom:8px}
.contato-card a{font-weight:600}

/* Sobre */
.sobre-hero{background:var(--grad-suave);padding:60px 40px;border-radius:var(--raio);margin-bottom:40px}
.sobre-hero h1{color:var(--verde-900);font-size:36px;margin-bottom:14px}
.sobre-hero p{font-size:18px;color:var(--cinza-700);max-width:780px}
.linha-tempo{position:relative;padding-left:40px;margin:30px 0}
.linha-tempo::before{content:"";position:absolute;left:14px;top:0;bottom:0;width:3px;background:var(--grad)}
.tempo-item{position:relative;padding:20px 0 20px 20px;background:#fff;border-radius:var(--raio);margin-bottom:20px;padding:24px;box-shadow:var(--sombra)}
.tempo-item::before{content:"";position:absolute;left:-32px;top:30px;width:14px;height:14px;background:var(--verde-500);border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px var(--verde-500)}
.tempo-item h3{color:var(--verde-700);margin-bottom:6px}
.tempo-item .ano{font-size:13px;color:var(--cinza-500);font-weight:600;text-transform:uppercase;letter-spacing:1px}

/* Footer */
.site-footer{background:var(--cinza-900);color:#cbd5e1;margin-top:60px;padding:50px 0 0}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:36px;padding-bottom:36px}
.site-footer h4{color:#fff;margin-bottom:14px;font-size:15px;text-transform:uppercase;letter-spacing:1px}
.site-footer p{font-size:14px;line-height:1.7}
.footer-logo{width:50px;margin-bottom:14px;filter:brightness(1.2)}
.btn-whats{display:inline-block;background:#25D366;color:#fff!important;padding:10px 18px;border-radius:8px;font-weight:600;margin-top:10px}
.btn-whats:hover{background:#1ebe5a;color:#fff!important}
.copy{border-top:1px solid #2a2f36;padding:20px;text-align:center;font-size:13px;color:#6b7280}

/* Responsivo */
@media (max-width:860px){
  .hero{padding:60px 20px}
  .hero-inner{grid-template-columns:1fr;text-align:center}
  .hero h1{font-size:34px}
  .hero-cta{justify-content:center}
  .hero-logo img{width:180px;margin:0 auto}
  .layout-2col{grid-template-columns:1fr}
  .carrinho{position:static}
  .section-title{font-size:26px}
  .menu{justify-content:center;width:100%}
}

/* Admin */
.admin-shell{display:grid;grid-template-columns:230px 1fr;min-height:80vh;gap:0;background:#fff;border-radius:var(--raio);overflow:hidden;box-shadow:var(--sombra)}
.admin-side{background:var(--cinza-900);padding:24px 0}
.admin-side a{display:block;padding:12px 24px;color:#cbd5e1;border-left:3px solid transparent;font-size:14px}
.admin-side a:hover,.admin-side a.ativo{background:rgba(255,255,255,.05);color:#fff;border-left-color:var(--verde-500)}
.admin-side h4{padding:0 24px 14px;color:#6b7280;font-size:11px;text-transform:uppercase;letter-spacing:1px}
.admin-main{padding:32px}
.admin-main h1{color:var(--verde-900);margin-bottom:6px}
.admin-main .sub{color:var(--cinza-500);margin-bottom:26px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin-bottom:30px}
.stat{background:var(--grad);color:#fff;padding:22px;border-radius:var(--raio)}
.stat .n{font-size:34px;font-weight:700;line-height:1}
.stat .l{font-size:13px;opacity:.9;margin-top:6px;text-transform:uppercase;letter-spacing:1px}

/* ===== Dark mode ===== */
.theme-toggle{background:transparent;border:1px solid var(--cinza-300);color:var(--cinza-700);width:38px;height:38px;border-radius:8px;cursor:pointer;font-size:16px;display:inline-flex;align-items:center;justify-content:center;transition:.2s}
.theme-toggle:hover{background:var(--cinza-100);color:var(--verde-700)}

[data-theme="dark"]{
  --cinza-900:#e6e8ec;
  --cinza-700:#c1c6cf;
  --cinza-500:#8a929e;
  --cinza-300:#3a414b;
  --cinza-100:#1c2026;
  --branco:#161a1f;
  --verde-900:#9ce4b2;
  --grad-suave: linear-gradient(135deg,#1c2a22 0%,#161a1f 100%);
  --sombra: 0 8px 30px rgba(0,0,0,.45);
}
[data-theme="dark"] body{background:#0f1216;color:#e6e8ec}
[data-theme="dark"] .site-header{background:#161a1f;box-shadow:0 2px 12px rgba(0,0,0,.5)}
[data-theme="dark"] .brand,
[data-theme="dark"] .brand strong{color:#e6e8ec}
[data-theme="dark"] .menu a{color:#c1c6cf}
[data-theme="dark"] .menu a:hover{background:#1c2026;color:var(--verde-400)}
[data-theme="dark"] .menu a.ativo{background:#1c2a22;color:var(--verde-400)}
[data-theme="dark"] .theme-toggle{border-color:#3a414b;color:#c1c6cf}
[data-theme="dark"] .theme-toggle:hover{background:#1c2026;color:var(--verde-400)}
[data-theme="dark"] .feature,
[data-theme="dark"] .card,
[data-theme="dark"] .produto,
[data-theme="dark"] .form,
[data-theme="dark"] .carrinho,
[data-theme="dark"] .toolbar,
[data-theme="dark"] .contato-card,
[data-theme="dark"] .tempo-item,
[data-theme="dark"] .tabela,
[data-theme="dark"] .admin-shell{background:#161a1f;color:#e6e8ec}
[data-theme="dark"] .feature h3,
[data-theme="dark"] .form h2,
[data-theme="dark"] .contato-card h3,
[data-theme="dark"] .admin-main h1,
[data-theme="dark"] .carrinho h3,
[data-theme="dark"] .sobre-hero h1{color:var(--verde-400)}
[data-theme="dark"] .feature p,
[data-theme="dark"] .produto h3,
[data-theme="dark"] .sobre-hero p{color:#c1c6cf}
[data-theme="dark"] .toolbar input,
[data-theme="dark"] .toolbar select,
[data-theme="dark"] .campo input,
[data-theme="dark"] .campo textarea,
[data-theme="dark"] .campo select,
[data-theme="dark"] .qtd-input{background:#1c2026;border-color:#3a414b;color:#e6e8ec}
[data-theme="dark"] .tabela th{background:#1c2026;color:#c1c6cf}
[data-theme="dark"] .tabela td{border-color:#262b32}
[data-theme="dark"] .tabela tr:hover td{background:#1c2026}
[data-theme="dark"] .alerta.ok{background:#14321f;color:#9ce4b2;border-color:#1f6b3a}
[data-theme="dark"] .alerta.erro{background:#3a1414;color:#ffb4b4;border-color:#6b1f1f}
[data-theme="dark"] .sobre-hero{background:linear-gradient(135deg,#1c2a22,#161a1f)}
[data-theme="dark"] .produto .img{background:linear-gradient(135deg,#1c2a22,#161a1f)}
[data-theme="dark"] .site-footer{background:#0a0c10}
[data-theme="dark"] a{color:var(--verde-400)}
[data-theme="dark"] a:hover{color:var(--verde-300)}
