/* Ecofyx — Cookie Consent (v1)
   Leve, sem dependências. */
:root{
  --ec-cc-bg: rgba(255,255,255,.96);
  --ec-cc-text:#111827;
  --ec-cc-muted:#6b7280;
  --ec-cc-line: rgba(17,24,39,.12);
  --ec-cc-shadow: 0 20px 60px rgba(0,0,0,.18);
  --ec-cc-primary:#15803d;
  --ec-cc-primaryText:#ffffff;
}
.ecofyx-cc-bar{
  position:fixed;
  left:16px;
  right:16px;
  bottom:16px;
  z-index:9999;
  background:var(--ec-cc-bg);
  color:var(--ec-cc-text);
  border:1px solid var(--ec-cc-line);
  border-radius:16px;
  box-shadow:var(--ec-cc-shadow);
  padding:14px 14px 12px;
  display:none;
  backdrop-filter: blur(10px);
}
.ecofyx-cc-bar .row{
  display:flex;
  gap:12px;
  align-items:flex-start;
  justify-content:space-between;
  flex-wrap:wrap;
}
.ecofyx-cc-bar .txt{
  min-width:220px;
  flex: 1 1 360px;
}
.ecofyx-cc-bar .ttl{
  font-weight:900;
  font-size:14px;
  margin:0 0 4px;
}
.ecofyx-cc-bar .desc{
  font-size:12.5px;
  color:var(--ec-cc-muted);
  margin:0;
  line-height:1.35;
}
.ecofyx-cc-bar a{ color: var(--ec-cc-primary); text-decoration:none; font-weight:800; }
.ecofyx-cc-actions{
  display:flex;
  gap:8px;
  flex: 0 0 auto;
  align-items:center;
}
.ecofyx-cc-btn{
  border:1px solid var(--ec-cc-line);
  background:#fff;
  color:var(--ec-cc-text);
  border-radius:999px;
  padding:9px 12px;
  font-size:13px;
  font-weight:900;
  cursor:pointer;
}
.ecofyx-cc-btn:hover{ filter:brightness(.98); }
.ecofyx-cc-btn.primary{
  background:var(--ec-cc-primary);
  border-color: rgba(21,128,61,.45);
  color:var(--ec-cc-primaryText);
}
.ecofyx-cc-btn.ghost{
  background:transparent;
}
.ecofyx-cc-backdrop{
  position:fixed;
  inset:0;
  background: rgba(0,0,0,.45);
  z-index:9999;
  display:none;
}
.ecofyx-cc-modal{
  position:fixed;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(720px, calc(100vw - 28px));
  background:#fff;
  color:var(--ec-cc-text);
  border-radius:18px;
  border:1px solid var(--ec-cc-line);
  box-shadow:var(--ec-cc-shadow);
  z-index:10000;
  display:none;
  overflow:hidden;
}
.ecofyx-cc-modal .hd{
  padding:14px 16px;
  background: rgba(243,244,246,.9);
  border-bottom:1px solid var(--ec-cc-line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.ecofyx-cc-modal .hd .t{
  font-weight:950;
}
.ecofyx-cc-modal .hd .x{
  border:none;
  background:transparent;
  cursor:pointer;
  font-size:14px;
  color:var(--ec-cc-muted);
  font-weight:900;
}
.ecofyx-cc-modal .bd{
  padding:14px 16px 4px;
}
.ecofyx-cc-modal .bd p{
  margin:0 0 10px;
  font-size:13px;
  color:var(--ec-cc-muted);
  line-height:1.45;
}
.ecofyx-cc-cats{
  border:1px solid var(--ec-cc-line);
  border-radius:14px;
  overflow:hidden;
}
.ecofyx-cc-cat{
  padding:12px 12px;
  display:flex;
  gap:12px;
  align-items:flex-start;
  justify-content:space-between;
  border-bottom:1px solid var(--ec-cc-line);
}
.ecofyx-cc-cat:last-child{ border-bottom:none; }
.ecofyx-cc-cat .meta{flex: 1 1 auto;}
.ecofyx-cc-cat .name{ font-weight:950; font-size:13px; margin:0 0 4px; }
.ecofyx-cc-cat .info{ font-size:12.5px; color:var(--ec-cc-muted); margin:0; line-height:1.35;}
.ecofyx-cc-switch{
  flex: 0 0 auto;
  display:flex;
  align-items:center;
  gap:8px;
}
.ecofyx-cc-switch input{ transform:scale(1.1); }
.ecofyx-cc-modal .ft{
  padding:12px 16px 14px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
  border-top:1px solid var(--ec-cc-line);
  background:#fff;
}
@media (max-width:520px){
  .ecofyx-cc-actions{ width:100%; justify-content:flex-start; }
}
