/* =========================================================
   PORTÃO DE LOJISTA — filtro de CNPJ antes do WhatsApp comercial
   Grupo Madresilva · site institucional
   ========================================================= */
.lg-overlay{
  position:fixed; inset:0; z-index:99999;
  display:none; align-items:center; justify-content:center;
  padding:20px; background:rgba(6,14,28,.72); backdrop-filter:blur(6px);
}
.lg-overlay.is-open{ display:flex; }
.lg-card{
  width:100%; max-width:460px; background:#fff; color:#15233b;
  border-radius:22px; padding:34px 30px; position:relative;
  box-shadow:0 30px 80px rgba(0,0,0,.45);
  font-family:'Inter',system-ui,Arial,sans-serif;
  animation:lgIn .35s cubic-bezier(.22,1,.36,1);
}
@keyframes lgIn{ from{opacity:0; transform:translateY(16px) scale(.98)} to{opacity:1; transform:none} }
.lg-close{
  position:absolute; top:12px; right:16px; border:0; background:transparent;
  font-size:28px; line-height:1; color:#9aa7bd; cursor:pointer;
}
.lg-close:hover{ color:#15233b; }
.lg-badge{
  display:inline-block; font-size:.7rem; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:#0d2345; background:#eef3fb; border:1px solid #dbe6f5;
  padding:6px 12px; border-radius:999px; margin-bottom:14px;
}
.lg-card h2{ font-size:1.35rem; line-height:1.2; margin:0 0 8px; color:#0d2345; }
.lg-card p{ font-size:.95rem; line-height:1.6; color:#5b6b83; margin:0 0 20px; }
.lg-field label{ display:block; font-size:.85rem; font-weight:600; margin-bottom:7px; color:#2b3954; }
.lg-input{
  width:100%; padding:14px; border:1.6px solid #d9e1ec; border-radius:12px;
  font:inherit; letter-spacing:.02em; outline:none;
}
.lg-input:focus{ border-color:#0d2345; box-shadow:0 0 0 3px rgba(13,35,69,.12); }
.lg-btn{
  width:100%; margin-top:16px; padding:14px; border:0; border-radius:12px;
  font:inherit; font-weight:700; font-size:1rem; cursor:pointer;
  background:#0d2345; color:#fff; transition:filter .2s;
}
.lg-btn:hover{ filter:brightness(1.12); }
.lg-btn:disabled{ opacity:.55; cursor:not-allowed; }
.lg-btn.wa{
  background:#25d366; color:#04240f; text-decoration:none;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
}
.lg-err{ color:#b3261e; font-size:.88rem; margin-top:10px; min-height:1.1em; }
.lg-alt{ margin-top:18px; text-align:center; font-size:.86rem; color:#6b7894; }
.lg-alt a{ color:#0d2345; font-weight:600; cursor:pointer; text-decoration:underline; }
.lg-ok{
  display:flex; align-items:center; gap:10px; margin-bottom:6px;
  background:#eafaf0; border:1px solid #bfe8cf; color:#0d6b3f;
  border-radius:12px; padding:12px 14px; font-size:.9rem; font-weight:600;
}
.lg-spin{
  width:26px; height:26px; margin:6px auto 0;
  border:3px solid #dbe6f5; border-top-color:#0d2345; border-radius:50%;
  animation:lgSpin .8s linear infinite;
}
@keyframes lgSpin{ to{ transform:rotate(360deg) } }
.lg-actions{ display:flex; flex-direction:column; gap:10px; margin-top:8px; }
.lg-actions a, .lg-actions button{ width:100%; margin-top:0; }
.lg-ghost{ background:transparent; border:1.6px solid #d9e1ec; color:#0d2345; }

/* menu do consumidor final (o que você procura?) */
.lg-menu{ display:flex; flex-direction:column; gap:10px; }
.lg-opt{
  text-align:left; background:#f6f8fc; border:1.6px solid #e2e9f3; border-radius:14px;
  padding:14px 16px; cursor:pointer; display:flex; flex-direction:column; gap:2px;
  transition:border-color .2s, background .2s;
}
.lg-opt:hover{ border-color:#0d2345; background:#eef3fb; }
.lg-opt strong{ color:#0d2345; font-size:1rem; }
.lg-opt span{ color:#6b7894; font-size:.84rem; }
.lg-back{
  background:transparent; border:0; color:#6b7894; font:inherit; font-size:.85rem;
  cursor:pointer; padding:0; margin-bottom:12px;
}
.lg-back:hover{ color:#0d2345; }

/* lista de lojas parceiras */
.lg-stores{ display:flex; flex-direction:column; gap:10px; max-height:44vh; overflow-y:auto; }
.lg-store{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  background:#f6f8fc; border:1.6px solid #e2e9f3; border-radius:14px;
  padding:13px 15px; text-decoration:none; transition:border-color .2s, background .2s;
}
.lg-store:hover{ border-color:#25d366; background:#f0fbf4; }
.lg-store-info{ display:flex; flex-direction:column; gap:2px; }
.lg-store-info strong{ color:#0d2345; font-size:.98rem; }
.lg-store-info span{ color:#6b7894; font-size:.82rem; }
.lg-store-go{ color:#0d8a44; font-weight:700; font-size:.85rem; white-space:nowrap; }

/* números escondidos: viram "Entrar em contato" (clicável, abre o filtro) */
a.lg-wa[data-real-text]{ color:#0d2345; font-weight:600; text-decoration:underline; cursor:pointer; }
.rg-phone[data-real]{ color:inherit; }
