/* ================================================================
   BIM CONFORME — overrides sobre styles.css (fork xyzbim)
   Accent verde-conformidade. Trocar aqui muda o site todo.
   ================================================================ */
:root{
  --accent:   #2E7D5B;
}
[data-theme="dark"]{
  --accent:   #4DBB8A;
}

/* pricing */
.plans{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:var(--grid-gap); align-items:stretch; }
.plan{
  border:1px solid var(--rule); background:var(--bg-2);
  padding:28px; display:flex; flex-direction:column; gap:14px;
}
.plan--featured{ border-color:var(--accent); outline:1px solid var(--accent); }
.plan__name{ font-size:18px; font-weight:600; letter-spacing:-.01em; }
.plan__price{ font-size:34px; font-weight:600; letter-spacing:-.02em; }
.plan__price small{ font-size:12px; font-weight:400; color:var(--ink-3); }
.plan__list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; font-size:14px; color:var(--ink-2); }
.plan__list li{ padding-left:18px; position:relative; }
.plan__list li::before{ content:"✓"; position:absolute; left:0; color:var(--accent); font-family:var(--f-mono); }
.plan .btn{ margin-top:auto; justify-content:center; }

/* steps 48h */
.steps{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:var(--grid-gap); counter-reset:step; }
.step{ border-top:2px solid var(--accent); padding-top:14px; }
.step h3{ font-size:15px; margin:0 0 6px; }
.step p{ font-size:14px; color:var(--ink-2); margin:0; }
.step::before{ counter-increment:step; content:"0" counter(step);
  font-family:var(--f-mono); font-size:11px; color:var(--ink-3); display:block; margin-bottom:10px; }

/* FAQ */
.faq{ border-top:1px solid var(--rule); }
.faq details{ border-bottom:1px solid var(--rule); }
.faq summary{ cursor:pointer; padding:16px 0; font-weight:500; font-size:15px; list-style:none; display:flex; justify-content:space-between; }
.faq summary::after{ content:"+"; font-family:var(--f-mono); color:var(--ink-3); }
.faq details[open] summary::after{ content:"–"; }
.faq p{ margin:0 0 16px; font-size:14px; color:var(--ink-2); max-width:70ch; }

/* misc */
.law-chip{ display:inline-block; font-family:var(--f-mono); font-size:11px;
  letter-spacing:.05em; border:1px solid var(--rule); padding:4px 10px; border-radius:999px; margin:0 6px 6px 0; color:var(--ink-2); }
.sec{ padding: clamp(48px,7vw,110px) var(--pad); max-width:var(--max); margin:0 auto; }
.sec--tint{ background:var(--bg-2); max-width:none; }
.sec--tint > .sec__inner{ max-width:var(--max); margin:0 auto; }
.lede{ font-size:clamp(17px,1.6vw,21px); line-height:1.55; max-width:64ch; color:var(--ink-2); }

/* ================================================================
   Configurador EIR (configurar.html)
   ================================================================ */
.qsec{ border:1px solid var(--rule); background:var(--bg-2); padding:26px 26px 14px; margin-bottom:22px; }
.qsec > h3{ font-size:17px; letter-spacing:-.01em; margin:0 0 4px; }
.qsec > .mono{ margin:0 0 14px; }
.q{ margin:0 0 20px; }
.q__label{ display:block; font-size:15px; font-weight:500; margin-bottom:3px; }
.q__hint{ font-size:13px; color:var(--ink-3); margin:0 0 10px; max-width:72ch; }
.q input[type=text], .q input[type=number]{
  width:100%; max-width:480px; padding:10px 12px; font:inherit; font-size:14px;
  border:1px solid var(--rule); background:var(--bg); color:var(--ink);
}
.q input:focus{ outline:1px solid var(--accent); border-color:var(--accent); }
.opts{ display:flex; flex-wrap:wrap; gap:8px; }
.opt{ position:relative; }
.opt input{ position:absolute; opacity:0; pointer-events:none; }
.opt span{
  display:inline-block; border:1px solid var(--rule); border-radius:999px;
  padding:7px 14px; font-size:13.5px; color:var(--ink-2); cursor:pointer;
  transition:border-color .12s, color .12s;
}
.opt input:checked + span{ border-color:var(--accent); color:var(--accent);
  box-shadow:inset 0 0 0 1px var(--accent); }
.opt input:focus-visible + span{ outline:2px solid var(--accent); outline-offset:2px; }
.chipgrp{ margin:0 0 12px; }
.chipgrp > p{ font-family:var(--f-mono); font-size:11px; letter-spacing:.05em;
  color:var(--ink-3); margin:0 0 8px; text-transform:uppercase; }
.note-np{ border-left:2px solid var(--accent); background:var(--bg);
  padding:10px 14px; font-size:13px; color:var(--ink-2); max-width:72ch; margin:0 0 20px; }
.cfg-summary{ border:1px solid var(--accent); padding:26px; background:var(--bg-2); }
.cfg-summary h3{ margin:0 0 10px; font-size:17px; }
.cfg-summary pre{ font-family:var(--f-mono); font-size:12px; color:var(--ink-2);
  white-space:pre-wrap; margin:0 0 18px; max-height:260px; overflow:auto; }
.hidden{ display:none !important; }
