/* family-legal.css : Minimal legal typography within product-card */
.legal-card .legal-actions{ margin-top: 10px; display:flex; justify-content:flex-end; }
.legal-card .legal-back{ cursor:pointer; }
.legal-body{ margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.08); }
.legal-heading{ margin: 0 0 10px; font-size: 14px; font-weight: 900; letter-spacing: .2px; }
.legal-lang h2{ margin-top: 14px; }
.legal-lang p{ color: var(--muted); font-size: 13px; line-height: 1.75; }
.legal-lang ul{ color: var(--muted); font-size: 13px; line-height: 1.75; padding-left: 18px; }
.legal-lang li{ margin: 4px 0; }
.legal-lang .support{ margin-top: 12px; }
.legal-lang .support a{ color: rgba(0,200,255,1); text-decoration: none; }
.legal-lang .support a:hover{ text-decoration: underline; }

/* ===== Embedded legacy legal docs (FoodCheck / Servis) ===== */
.legal-cards,
.fc-legal-block{ display: grid; gap: 12px; }

.legal-cards .card,
.fc-legal-block .card{
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  border-radius: 18px;
  padding: 14px;
}

.legal-cards h2,
.fc-legal-block h2{ margin: 0; font-size: 13px; font-weight: 900; }

.legal-cards p,
.legal-cards li,
.fc-legal-block p,
.fc-legal-block li{ color: var(--muted); font-size: 13px; line-height: 1.75; }

.legal-cards ul,
.fc-legal-block ul{ margin: 8px 0 0; padding-left: 18px; }

.legal-cards .note,
.fc-legal-block .note{ color: rgba(255,255,255,.85); }

.legal-cards .kvs,
.fc-legal-block .kvs{ display:grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 12px; }

.legal-cards .kv,
.fc-legal-block .kv{ border: 1px solid rgba(255,255,255,.08); background: rgba(0,0,0,.18); border-radius: 16px; padding: 12px; }

.legal-cards .kv .k,
.fc-legal-block .kv .k{ font-size: 11px; letter-spacing: .18px; text-transform: uppercase; color: rgba(255,255,255,.6); font-weight: 800; }

.legal-cards .kv .v,
.fc-legal-block .kv .v{ margin-top: 6px; color: rgba(255,255,255,.85); font-size: 13px; line-height: 1.55; }

.legal-cards footer,
.fc-legal-block footer{ display:flex; justify-content: space-between; flex-wrap:wrap; gap: 10px; color: rgba(255,255,255,.55); font-size: 11px; padding: 2px 2px 0; }

.sv-legal-content{ display:grid; gap: 12px; }
.sv-legal-content h1{ margin: 0 0 6px; font-size: 16px; font-weight: 900; }
.sv-legal-content h2{ margin: 14px 0 8px; font-size: 13px; font-weight: 900; }
.sv-legal-content p,
.sv-legal-content li{ color: var(--muted); font-size: 13px; line-height: 1.75; }
.sv-legal-content ul{ padding-left: 18px; }

@media (max-width: 820px){
  .fc-legal-block .kvs,
  .legal-cards .kvs{ grid-template-columns: 1fr; }
}
