.legal-public-main { padding: 1.25rem 1rem 3rem; }
.legal-public-wrap { max-width: 1080px; margin: 0 auto; }
.legal-public-hero { margin-bottom: 1.75rem; }
.legal-kicker { text-transform: uppercase; letter-spacing: .06em; font-size: .75rem; color: #6b7280; margin: 0 0 .35rem; }
.legal-public-hero h1 { font-size: clamp(1.6rem, 4vw, 2.2rem); margin: 0 0 .5rem; font-weight: 700; }
.legal-hero-lead { color: #4b5563; max-width: 40rem; margin-bottom: 1rem; }
.legal-pending-banner { background: #fef3c7; color: #92400e; padding: .6rem .9rem; border-radius: 10px; font-size: .9rem; }
.legal-search { display: flex; gap: .5rem; max-width: 520px; }
.legal-blocks-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
@media (min-width: 640px) {
  .legal-blocks-grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 960px) {
  .legal-blocks-grid { grid-template-columns: 1fr 1fr 1fr; }
}
.legal-block-card {
  display: flex; flex-direction: column; gap: .35rem;
  padding: 1.15rem 1.2rem;
  border-radius: 16px;
  border: 1px solid rgba(15,23,42,.08);
  background: #fff;
  text-decoration: none; color: inherit;
  box-shadow: 0 1px 2px rgba(15,23,42,.04);
  transition: transform .15s ease, box-shadow .15s ease;
  min-height: 168px;
}
.legal-block-card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(15,23,42,.08); color: inherit; }
.legal-block-card i { font-size: 1.35rem; color: #2563eb; }
.legal-block-card h2 { font-size: 1.1rem; margin: 0; }
.legal-block-card p { font-size: .9rem; color: #6b7280; margin: 0; flex: 1; }
.legal-block-meta { display: flex; justify-content: space-between; font-size: .75rem; color: #9ca3af; }
.legal-block-cta { font-size: .85rem; font-weight: 600; color: #2563eb; }
.store-menu-pending { color: #b45309; font-weight: 600; font-size: .85em; }
.legal-doc-list { display: flex; flex-direction: column; gap: .65rem; }
.legal-doc-card {
  display: flex; flex-direction: column; gap: .2rem;
  padding: 1rem 1.1rem; border-radius: 12px; border: 1px solid rgba(15,23,42,.08);
  text-decoration: none; color: inherit; background: #fff;
}
.legal-doc-card em { font-style: normal; font-size: .75rem; color: #9ca3af; }
.legal-doc-view { background: #fff; border-radius: 16px; padding: 1.25rem 1.35rem; border: 1px solid rgba(15,23,42,.08); }
.legal-en-pocas { background: #f8fafc; border-radius: 12px; padding: 1rem 1.1rem; margin: 1rem 0; }
.legal-en-pocas ul { margin: .5rem 0 0; padding-left: 1.1rem; }
.legal-breadcrumb { font-size: .85rem; margin-bottom: 1rem; color: #6b7280; }
.legal-draft-banner { background: #fff7ed; border: 1px solid #fed7aa; padding: .65rem .8rem; border-radius: 8px; font-size: .9rem; }
.legal-acceptance-card {
  border: 1px solid rgba(15,23,42,.1); border-radius: 14px; padding: 1rem 1.1rem; background: #fff; margin: 1rem 0;
}
.legal-acceptance-card ul { margin: .5rem 0 1rem; padding-left: 1.1rem; }
.legal-acceptance-card .form-check { margin-bottom: .75rem; }
.visually-hidden {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
