:root{--green:#0f5b3f;--green2:#083d2b;--gold:#c9a24c;--bg:#f8f5ee;--text:#17201b;--muted:#6b716d;--white:#fff;--danger:#b42318;--shadow:0 18px 50px rgba(20,31,25,.12);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--text)}a{text-decoration:none;color:inherit}.topbar{position:sticky;top:0;z-index:20;background:rgba(248,245,238,.92);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.06);display:flex;align-items:center;justify-content:space-between;padding:12px 24px;gap:18px}.brand{display:flex;align-items:center;gap:10px;font-weight:900;color:var(--green)}.brand img{height:40px}nav{display:flex;align-items:center;gap:16px;font-weight:700;color:#314039}nav a{font-size:14px}.btn{border:0;border-radius:999px;padding:11px 18px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn.primary{background:var(--green);color:white}.btn.whatsapp{background:#1fae55;color:white}.btn.ghost{background:white;border:1px solid rgba(0,0,0,.08);color:var(--green)}.btn.link{background:transparent;color:var(--muted)}.btn.full{width:100%}.cart b{background:var(--gold);color:#2b2107;border-radius:999px;min-width:22px;padding:2px 6px}.hero{display:grid;grid-template-columns:1fr 1.05fr;gap:28px;align-items:center;max-width:1220px;margin:30px auto 12px;padding:0 22px}.heroText{background:linear-gradient(135deg,#fff,#f9f2dc);padding:42px;border-radius:var(--radius);box-shadow:var(--shadow);min-height:380px;display:flex;flex-direction:column;justify-content:center}.eyebrow{color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.08em}.hero h1{font-size:clamp(32px,5vw,64px);line-height:.98;margin:12px 0;color:var(--green2)}.hero p{font-size:18px;color:#405149}.heroActions{display:flex;gap:12px;flex-wrap:wrap}.carousel{height:380px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:var(--green);position:relative}.banner{position:absolute;inset:0;background-size:cover;background-position:center;display:flex;align-items:flex-end;padding:34px;color:white;opacity:0;transition:.5s}.banner.active{opacity:1}.banner:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.58),rgba(0,0,0,.05))}.bannerContent{position:relative;max-width:70%}.banner h3{font-size:36px;margin:0 0 8px}.banner p{margin:0 0 14px}.section{max-width:1220px;margin:26px auto;padding:0 22px}.sectionTitle{display:flex;justify-content:space-between;gap:18px;align-items:end;margin-bottom:16px}.sectionTitle h2{font-size:32px;color:var(--green2);margin:0}.sectionTitle p{margin:4px 0;color:var(--muted)}.filters{display:grid;grid-template-columns:1fr 220px 180px;gap:12px;margin-bottom:18px}.filters input,.filters select,input,select,textarea{width:100%;border:1px solid rgba(0,0,0,.1);background:white;border-radius:14px;padding:13px 14px;font:inherit}.grid.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.card{background:white;border-radius:20px;box-shadow:0 10px 28px rgba(20,31,25,.08);overflow:hidden;display:flex;flex-direction:column}.cardImg{height:210px;background:#f3f0e8;display:flex;align-items:center;justify-content:center}.cardImg img{max-width:92%;max-height:92%;object-fit:contain}.cardBody{padding:16px;display:flex;flex-direction:column;gap:10px;flex:1}.badges{display:flex;gap:6px;flex-wrap:wrap}.badge{font-size:11px;font-weight:900;border-radius:999px;padding:5px 8px;background:#eef6f1;color:var(--green)}.badge.promo{background:#fff2d0;color:#6d4d00}.ref{color:var(--muted);font-size:12px;font-weight:900}.card h3{margin:0;font-size:16px;line-height:1.25}.desc{color:var(--muted);font-size:13px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.price{font-size:22px;font-weight:950;color:var(--green2);margin-top:auto}.how{background:white;border-radius:var(--radius);box-shadow:var(--shadow);padding:34px;display:flex;align-items:center;justify-content:space-between}.drawer{position:fixed;right:-460px;top:0;width:min(460px,96vw);height:100vh;background:#fff;z-index:50;box-shadow:-20px 0 60px rgba(0,0,0,.18);transition:.25s;display:flex;flex-direction:column}.drawer.open{right:0}.drawerHeader{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #eee}.drawerHeader button,.x{font-size:28px;background:transparent;border:0;cursor:pointer}.cartItems{padding:14px 18px;overflow:auto;max-height:28vh}.cartLine{display:grid;grid-template-columns:54px 1fr auto;gap:10px;align-items:center;margin-bottom:12px}.cartLine img{width:54px;height:54px;object-fit:contain;background:#f6f2ea;border-radius:12px}.qty{display:flex;gap:6px;align-items:center}.qty button{border:0;background:#eef6f1;border-radius:8px;width:28px;height:28px}.couponBox{display:flex;gap:8px;padding:0 18px 12px}.checkout{padding:0 18px 22px;overflow:auto}.checkout h3{margin:12px 0}.row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0}.checkout input,.checkout select,.checkout textarea{margin:4px 0}.totals{display:grid;grid-template-columns:1fr auto;gap:8px;margin:14px 0;padding:14px;border-radius:16px;background:#f8f5ee}.totals b:last-child{font-size:20px;color:var(--green)}.miniInfo{background:#eef6f1;border-radius:14px;padding:10px;margin:10px 0}.hidden{display:none!important}.floatWhats{position:fixed;right:20px;bottom:20px;z-index:30;background:#1fae55;color:white;border:0;border-radius:999px;padding:14px 18px;box-shadow:var(--shadow);font-weight:900;cursor:pointer}dialog{border:0;border-radius:24px;box-shadow:var(--shadow);padding:0;max-width:420px;width:92vw}.modalCard{padding:28px}.x{float:right}.msg{color:var(--danger);font-weight:700}.toast{position:fixed;left:50%;bottom:25px;transform:translateX(-50%);background:#13251d;color:white;border-radius:999px;padding:12px 18px;z-index:100}.adminBody{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.adminSide{background:#0f5b3f;color:white;padding:22px;position:sticky;top:0;height:100vh}.adminSide h1{font-size:20px}.adminSide button{display:block;width:100%;margin:8px 0;text-align:left;border:0;border-radius:14px;padding:12px;background:rgba(255,255,255,.12);color:white;font-weight:800;cursor:pointer}.adminSide button.active{background:white;color:var(--green)}.adminMain{padding:24px}.adminCard{background:white;border-radius:20px;padding:18px;box-shadow:0 8px 28px rgba(0,0,0,.07);margin-bottom:18px}.adminTable{width:100%;border-collapse:collapse;background:white}.adminTable th,.adminTable td{border-bottom:1px solid #eee;padding:10px;text-align:left;font-size:14px}.quick{cursor:pointer;font-size:20px}.quick.on{filter:saturate(1.5)}.adminGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.adminGrid .wide{grid-column:1/-1}.loginPage{min-height:100vh;display:grid;place-items:center;background:var(--bg)}.loginCard{width:min(420px,92vw);background:white;padding:30px;border-radius:24px;box-shadow:var(--shadow)}@media(max-width:900px){.topbar{flex-wrap:wrap}nav{order:3;width:100%;overflow:auto}.hero{grid-template-columns:1fr}.grid.products{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{grid-template-columns:1fr}.adminBody{display:block}.adminSide{height:auto;position:relative}.adminGrid{grid-template-columns:1fr}}@media(max-width:520px){.grid.products{grid-template-columns:1fr}.heroText{padding:26px}.bannerContent{max-width:100%}.sectionTitle{display:block}.how{display:block}.row{grid-template-columns:1fr}}

/* V21 - botões rápidos mais claros no admin */
.quickToggle{border:1px solid rgba(15,91,63,.20);border-radius:999px;padding:8px 10px;background:#f4f7f4;color:#66706a;font-weight:900;cursor:pointer;min-width:92px;text-align:center;white-space:nowrap}
.quickToggle.on{background:#e9f8ee;color:#0f5b3f;border-color:rgba(15,91,63,.35)}
.quickToggle.off{background:#fff7f0;color:#8a5b16;border-color:rgba(180,120,30,.25)}
.quickToggle:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(20,31,25,.10)}
.adminHint{font-size:13px;color:#6b716d;margin-top:12px}

/* V22 */
.adminActions{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}
#csvFile{background:#fff;border:1px dashed rgba(15,91,63,.35);padding:18px}


/* V23 - banners mais limpos e mobile/admin celular */
.banner{align-items:center;padding:30px;isolation:isolate}
.banner:before{background:linear-gradient(90deg,rgba(6,36,25,.78),rgba(6,36,25,.34),rgba(6,36,25,.08))}
.bannerContent{position:relative;z-index:2;max-width:min(560px,88%);background:rgba(6,36,25,.38);backdrop-filter:blur(2px);border-radius:22px;padding:22px 24px;box-shadow:0 14px 36px rgba(0,0,0,.16)}
.bannerContent small{display:inline-flex;background:#ffe5a5;color:#10271c;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:950;margin-bottom:10px;letter-spacing:.04em}
.banner h3{font-size:clamp(28px,4.4vw,52px);line-height:1.02;margin:0 0 10px;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.25)}
.banner p{font-size:clamp(15px,2vw,20px);line-height:1.35;color:rgba(255,255,255,.92);max-width:520px}
.uploadBox{display:grid;grid-template-columns:1fr 120px;gap:14px;align-items:center;border:1px dashed rgba(15,91,63,.35);border-radius:18px;padding:14px;background:#fbfaf6}
.uploadBox label{display:flex;flex-direction:column;gap:8px;color:#17201b;font-weight:700}
.uploadBox label span{font-size:13px;color:#6b716d;font-weight:500}
.uploadBox input[type=file]{padding:10px;background:#fff;border-radius:12px;border:1px solid rgba(0,0,0,.08)}
.uploadBox img{width:120px;height:120px;object-fit:contain;border-radius:16px;background:#f3f0e8;border:1px solid rgba(0,0,0,.06)}
.bannerUpload{grid-template-columns:1fr 220px}.bannerUpload img{width:220px;height:80px;object-fit:cover}
.adminTable{min-width:900px}.adminCard{overflow:auto}.adminMain{overflow-x:hidden}.quickToggle{font-size:13px}
@media(max-width:720px){
  .hero{padding:0 12px;margin-top:16px}.carousel{height:300px}.banner{padding:16px}.bannerContent{max-width:100%;padding:18px}.banner h3{font-size:28px}.banner p{font-size:15px}
  .topbar{padding:10px 12px}.brand img{height:36px}.brand div{font-size:13px}nav a{font-size:13px;white-space:nowrap}.cart{margin-left:auto}
  .adminMain{padding:14px}.adminSide{padding:14px}.adminSide button{display:inline-flex;width:auto;margin:4px;white-space:nowrap}.adminSide{overflow:auto}.adminBody{background:#f8f5ee}.adminGrid{grid-template-columns:1fr}.uploadBox,.bannerUpload{grid-template-columns:1fr}.uploadBox img,.bannerUpload img{width:100%;height:160px}.adminTable th,.adminTable td{font-size:13px;padding:9px}.quickToggle{min-width:86px;padding:8px}
}

/* V24 - promoção completa, selo de desconto e admin mobile */
.cardImg{position:relative}.discountCorner{position:absolute;right:12px;top:12px;background:#b5142a;color:#fff;border-radius:999px;min-width:54px;height:54px;display:grid;place-items:center;font-weight:950;font-size:16px;box-shadow:0 8px 18px rgba(181,20,42,.28);z-index:2}.cardPromo{outline:2px solid rgba(181,20,42,.08)}.priceBox{margin-top:auto}.oldPrice{font-size:13px;color:#7f7f7f;text-decoration:line-through;font-weight:800;margin-bottom:2px}.badge.promo{background:#ffe6e6;color:#a40f21;border:1px solid rgba(164,15,33,.12)}
.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;color:#3a4a42;font-weight:900}.formMobile input,.formMobile textarea,.formMobile select{font-size:16px}.promoHelp{background:#fff8e4;border:1px solid rgba(196,141,14,.25);border-radius:16px;padding:12px;color:#5c4611}.adminActions .btn{min-height:42px}.uploadBox{min-height:120px}.uploadBox img{transition:.2s}.adminTable td .btn{white-space:nowrap}
@media(max-width:720px){.discountCorner{min-width:48px;height:48px;font-size:14px}.cardImg{height:190px}.adminMain h1{font-size:28px}.adminCard{padding:14px}.formMobile{gap:14px}.formMobile .btn{width:100%;justify-content:center}.adminActions .btn{width:100%}.uploadBox{padding:12px}.field label{font-size:14px}.filters{gap:10px}.adminTable{min-width:720px}.adminSide button{font-size:14px;padding:10px 12px}.oldPrice{font-size:12px}.price{font-size:24px}}
