@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500&family=Jost:wght@300;400;500&display=swap');

:root{
  --bg:#faf7f1; --fg:#3b342c; --muted:#8a7f71; --line:#e2dbcf;
  --card:#fffdf9; --accent:#c1642f; --dark:#43392f;
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Jost',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-weight:300;line-height:1.6}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--serif);font-weight:300;line-height:1.1}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.eyebrow{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted)}

.hd{position:sticky;top:0;z-index:50;background:rgba(250,247,241,.9);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.hd .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:20px;padding-bottom:20px}
.logo{font-family:var(--serif);font-size:20px;letter-spacing:.35em;text-transform:uppercase}
.nav{display:flex;gap:36px;font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.nav a:hover{color:var(--accent)}
.btn{display:inline-block;background:var(--dark);color:#faf7f1;padding:15px 34px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;border:0;cursor:pointer;font-family:var(--sans)}
.btn:hover{opacity:.9}
.btn-ghost{border:1px solid rgba(59,52,44,.25);background:none;color:var(--fg)}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn-sm{padding:9px 16px;font-size:10px}

.hero{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;padding:70px 0}
.hero h1{font-size:68px;margin-top:22px}
.hero h1 em{color:var(--accent);font-style:italic}
.hero p.lead{margin-top:26px;max-width:430px;color:var(--muted)}
.hero .cta{margin-top:38px;display:flex;gap:14px;flex-wrap:wrap}
.hero figure,.hero .hero-img{overflow:hidden;background:#efe9df;aspect-ratio:4/5}
.hero img{width:100%;height:100%;object-fit:cover;display:block}
img{max-width:100%}

.sec{border-top:1px solid var(--line);padding:80px 0}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between}
.sec-head h2{font-size:44px;margin-top:10px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:48px}
.card figure{overflow:hidden;background:#efe9df;aspect-ratio:9/11}
.card img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.card:hover img{transform:scale(1.05)}
.card .cat{margin-top:18px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.card h3{margin-top:6px;font-size:20px}
.card .price{margin-top:4px;font-size:14px;color:var(--accent)}
.card .out{font-size:11px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}

.sobre{background:#f2ece1}
.sobre .wrap{display:grid;grid-template-columns:1fr 2fr;gap:48px}
.sobre p{color:var(--muted);margin-bottom:16px}
.center{text-align:center}
.ft{border-top:1px solid var(--line);padding:34px 0;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.ft .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.login .box{width:100%;max-width:360px}
.login h1{font-size:30px;text-align:center;margin-top:10px}
.field{width:100%;border:1px solid var(--line);background:var(--card);padding:13px 15px;font-size:14px;font-family:var(--sans);margin-top:12px}
.field:focus{outline:none;border-color:var(--accent)}
label{display:block;margin-top:14px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:44px}
.stat{border:1px solid var(--line);background:var(--card);padding:20px 24px}
.stat b{display:block;font-family:var(--serif);font-size:30px;font-weight:400;margin-top:6px}
.cols{display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:start}
table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);margin-top:18px}
th,td{padding:11px 12px;text-align:left;font-size:13px;border-bottom:1px solid var(--line)}
th{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:400}
td img{width:44px;height:54px;object-fit:cover}
.tag{font-size:10px;letter-spacing:.15em;text-transform:uppercase;padding:4px 8px}
.tag.on{background:rgba(193,100,47,.15);color:var(--accent)}
.tag.off{background:#eae3d7;color:var(--muted)}
.msg{padding:12px 16px;margin-bottom:20px;font-size:13px;border:1px solid var(--line);background:var(--card)}
.msg.ok{border-color:var(--accent);color:var(--accent)}
.link-del{color:var(--muted);font-size:11px;letter-spacing:.15em;text-transform:uppercase}
.link-del:hover{color:#a12b2b}


.msg.err{border-color:#a12b2b;color:#a12b2b}


/* ================= MENU HAMBÚRGUER ================= */
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
.burger span{display:block;width:24px;height:1.5px;background:var(--fg);transition:transform .25s,opacity .25s}
.burger.x span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger.x span:nth-child(2){opacity:0}
.burger.x span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* ================= BANNER ROTATIVO ================= */
.slider{position:relative;overflow:hidden;background:#efe9df}
.slides{position:relative;height:clamp(340px,46vw,540px)}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease}
.slide.on{opacity:1;visibility:visible}
.slide img{width:100%;height:100%;object-fit:cover;object-position:center}
.slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(30,24,18,.62) 0%,rgba(30,24,18,.28) 48%,rgba(30,24,18,0) 78%)}
/* texto deslocado para a esquerda (não centralizado) */
.slide-txt{position:absolute;z-index:2;left:clamp(24px,7vw,90px);bottom:clamp(38px,8vw,84px);max-width:min(560px,74%);color:#fdfaf4;text-align:left}
.slide-txt .eyebrow{color:rgba(253,250,244,.82)}
.slide-txt h1{font-family:var(--serif);font-size:clamp(32px,5vw,62px);font-weight:300;line-height:1.05;margin-top:12px;color:#fdfaf4}
.slide-txt .btn{margin-top:24px;background:#fdfaf4;color:#3b342c}
.sl-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:42px;height:42px;border:0;border-radius:50%;
  background:rgba(253,250,244,.82);color:#3b342c;font-size:24px;line-height:1;cursor:pointer}
.sl-nav:hover{background:#fdfaf4}
.sl-nav.prev{left:14px}
.sl-nav.next{right:14px}
.dots{position:absolute;z-index:3;left:clamp(24px,7vw,90px);bottom:16px;display:flex;gap:8px}
.dots .dot{width:26px;height:3px;border:0;padding:0;cursor:pointer;background:rgba(253,250,244,.45)}
.dots .dot.on{background:#fdfaf4}

/* ================= RESPONSIVO ================= */
@media(max-width:900px){
  .hero,.sobre .wrap,.cols{grid-template-columns:1fr}
  .hero h1{font-size:44px}
  .stats{grid-template-columns:1fr}
  .sec{padding:52px 0}
  .sec-head h2{font-size:32px}

  /* menu vira hambúrguer */
  .burger{display:flex}
  .hd .wrap{position:relative}
  .nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;
       background:var(--bg);border-bottom:1px solid var(--line);padding:6px 24px 18px}
  .nav.open{display:flex}
  .nav a{padding:13px 0;border-bottom:1px solid var(--line)}
  .nav a:last-child{border-bottom:0}

  /* produtos 1-1 lado a lado */
  .grid{grid-template-columns:repeat(2,1fr);gap:16px 14px;margin-top:28px}
  .card h3{font-size:17px}

  /* banner no celular */
  .slides{height:min(70vw,420px)}
  .slide::after{background:linear-gradient(180deg,rgba(30,24,18,.15) 30%,rgba(30,24,18,.72) 100%)}
  .slide-txt{left:20px;right:20px;bottom:34px;max-width:none}
  .sl-nav{display:none}
  .dots{left:20px;bottom:14px}
}
@media(max-width:520px){
  .grid{gap:14px 12px}
  .card .cat{margin-top:12px}
}

/* ================= ADMIN: banners ================= */
.banner-list{display:grid;gap:12px;margin-top:18px}
.banner-item{display:flex;gap:14px;align-items:center;border:1px solid var(--line);background:var(--card);padding:10px}
.banner-item img{width:120px;height:64px;object-fit:cover;flex:none}
.banner-item .bi-info{flex:1;min-width:0}
.banner-item .bi-info b{font-family:var(--serif);font-size:19px;font-weight:400}
@media(max-width:600px){.banner-item{flex-wrap:wrap}.banner-item img{width:100%;height:120px}}
