*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --green:#85c24e;
  --green-dark:#67a431;
  --green-darker:#63a02c;
  --black:#0e0e0c;
  --gray-dark:#3a3a38;
  --gray-mid:#888884;
  --gray-light:#e4e4e0;
  --gray-bg:#f6f6f3;
  --white:#ffffff;
  --r:12px;
  --rl:20px;
}

html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--white);color:var(--black);overflow-x:hidden}
img{display:block;width:100%;height:100%;object-fit:cover}

.wrap{max-width:1080px;margin:0 auto;padding:0 clamp(20px,5vw,48px)}

.tag{
  display:inline-block;
  font-size:11px;font-weight:500;
  letter-spacing:2px;text-transform:uppercase;
  color:var(--green-darker);background:#eaf3de;
  padding:6px 16px;border-radius:100px;
}

/* ── HEADER / FOOTER (mesmo padrão do site principal) ── */
header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  padding:16px 0;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--gray-light);
}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{display:flex;align-items:center;text-decoration:none}
.logo img{height:clamp(28px,4vw,40px);width:auto;display:block}
.btn-header{
  white-space:nowrap;flex-shrink:0;
  background:var(--green);color:var(--white);
  font-family:'DM Sans',sans-serif;
  font-size:clamp(11px,1.6vw,14px);font-weight:500;
  padding:10px clamp(14px,2.5vw,24px);
  border-radius:100px;border:none;cursor:pointer;
  text-decoration:none;transition:background .2s,transform .2s;
}
.btn-header:hover{background:var(--green-darker);transform:translateY(-1px)}

footer{padding:32px 0;border-top:1px solid var(--gray-light);margin-top:64px}
footer .wrap{display:flex;flex-direction:column;align-items:center;gap:12px}
footer .logo img{height:28px}
footer p{font-size:12px;color:var(--gray-mid)}

@media(max-width:400px){ .btn-header span{display:none} }

/* ── LISTA + MAPA ── */
.find-hero{padding:clamp(96px,12vw,140px) 0 48px}
.find-title{
  font-family:'Cormorant Garamond',serif;
  font-weight:700;
  font-size:clamp(32px,5vw,48px);
  margin:14px 0 10px;
}
.find-sub{font-size:15px;color:var(--gray-dark);max-width:560px;margin-bottom:32px}

#map{
  width:100%;
  height:clamp(280px,42vw,440px);
  border-radius:var(--rl);
  overflow:hidden;
  border:1px solid var(--gray-light);
  background:var(--gray-bg);
  margin-bottom:32px;
}
.leaflet-popup-content{font-family:'DM Sans',sans-serif;font-size:13px}
.leaflet-popup-content a{color:var(--green-darker);font-weight:600;text-decoration:none}

.find-loading,.find-empty,.find-error{font-size:14px;color:var(--gray-mid);padding:24px 0}

.locations-list{display:flex;flex-direction:column;gap:10px}
.location-card{
  display:flex;align-items:center;gap:16px;
  padding:16px 20px;
  background:var(--gray-bg);
  border-radius:var(--r);
  text-decoration:none;color:inherit;
  transition:background .15s,transform .15s;
}
.location-card:hover{background:#eef1ea;transform:translateY(-1px)}
.location-code{
  font-family:'DM Sans',sans-serif;font-weight:700;font-size:13px;
  color:var(--green-darker);background:#eaf3de;
  border-radius:100px;padding:6px 12px;flex-shrink:0;
}
.location-info{flex:1;min-width:0}
.location-name{font-size:15px;font-weight:600;margin-bottom:2px}
.location-address{font-size:13px;color:var(--gray-mid);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.location-arrow{color:var(--gray-mid);font-size:18px;flex-shrink:0}

/* ── DETALHE DO LOCAL ── */
.detail-hero{padding:clamp(96px,12vw,140px) 0 48px}
.back-link{
  display:inline-block;font-size:13px;font-weight:500;color:var(--gray-dark);
  text-decoration:none;margin-bottom:24px;
}
.back-link:hover{color:var(--green-darker)}

.detail-header{
  display:flex;align-items:center;gap:16px;
  padding-bottom:28px;margin-bottom:28px;
  border-bottom:1px solid var(--gray-light);
}
.partner-logo{
  width:64px;height:64px;border-radius:var(--r);
  background:var(--gray-bg);flex-shrink:0;overflow:hidden;
  border:1px solid var(--gray-light);
  display:flex;align-items:center;justify-content:center;
  padding:8px;
}
.partner-logo img{width:100%;height:100%;object-fit:contain}
.detail-title{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:clamp(26px,4vw,36px)}
.detail-partner{font-size:13px;color:var(--gray-mid);margin-top:2px}
.detail-address{font-size:13px;color:var(--gray-mid);margin-top:2px}

.category-section{margin-bottom:36px}
.category-title{font-size:17px;font-weight:700;margin-bottom:16px}

.product-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
  gap:16px;
}
.product-card{
  background:var(--white);
  border:1px solid var(--gray-light);
  border-radius:var(--r);
  overflow:hidden;
  transition:box-shadow .2s,transform .2s;
}
.product-card:hover{
  box-shadow:0 8px 24px rgba(14,14,12,.1);
  transform:translateY(-2px);
}
.product-image{
  width:100%;aspect-ratio:1;
  background:var(--gray-light);
  display:flex;align-items:center;justify-content:center;
  color:var(--gray-mid);font-size:11px;
  overflow:hidden;
}
.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.product-card:hover .product-image img{transform:scale(1.3)}
.product-body{padding:10px 12px 12px}
.product-name{
  font-size:13px;font-weight:600;line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:2.6em;margin-bottom:8px;
}
.product-price-row{display:flex;align-items:baseline;justify-content:flex-end;gap:6px}
.product-price{font-size:14px;font-weight:700;color:var(--green-darker)}
.product-price-original{font-size:11px;color:var(--gray-mid);text-decoration:line-through}
