/* VIP Logistic — Legal pages (Terms / Privacy) */

.legal-hero {
  position: relative;
  background: #fafafa;
  border-bottom: 1px solid #e4e4e7;
  overflow: hidden;
}
.legal-hero-inner {
  position: relative;
  padding: 80px 24px 96px;
}
@media (min-width: 768px) {
  .legal-hero-inner { padding: 112px 40px 128px; }
}
.legal-hero .h1 { max-width: 900px; }
.legal-hero .lead { max-width: 720px; margin-top: 28px; }

.last-updated {
  margin-top: 32px;
  display: inline-flex; align-items: center; gap: 12px;
  font-size: 0.72rem; font-weight: 600;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: #71717a;
}
.last-updated .line { width: 32px; height: 1px; background: #a1a1aa; }

.legal-main {
  max-width: 880px !important;
  padding-top: 64px !important;
  padding-bottom: 96px !important;
}
@media (min-width: 768px) { .legal-main { padding-top: 96px !important; padding-bottom: 128px !important; } }

.legal-body { display: block; }

.legal-section {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  padding: 32px 0;
  border-top: 1px solid #e4e4e7;
}
@media (min-width: 768px) {
  .legal-section { grid-template-columns: 80px 1fr; gap: 24px; padding: 40px 0; }
}
.legal-section:first-child { border-top: 0; padding-top: 0; }

.legal-num {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  color: #ff3b30;
  padding-top: 4px;
}

.legal-content h2 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  color: #0a0a0a;
  margin: 0 0 16px;
}
@media (min-width: 768px) { .legal-content h2 { font-size: 1.875rem; } }

.legal-content h3 {
  font-family: "Outfit", system-ui, sans-serif;
  font-size: 1.05rem;
  font-weight: 700;
  color: #18181b;
  margin: 20px 0 8px;
}

.legal-content p {
  color: #3f3f46;
  line-height: 1.75;
  margin: 0 0 14px;
  font-size: 1rem;
}

.legal-content ul {
  margin: 8px 0 14px;
  padding-left: 0;
  color: #3f3f46;
  line-height: 1.75;
  list-style: none;
}
.legal-content ul li {
  margin-bottom: 6px;
  position: relative;
  padding-left: 18px;
}
.legal-content ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.7em;
  width: 8px;
  height: 1px;
  background: #ff3b30;
}

.legal-content a {
  color: #ff3b30;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.legal-content a:hover { color: #d32f2f; }

.legal-content strong { color: #0a0a0a; font-weight: 700; }

/* Contact strip */
.legal-contact-strip {
  margin-top: 80px;
  border-top: 1px solid #e4e4e7;
  padding-top: 40px;
}
.legal-contact-strip .overline { margin-bottom: 20px; }
.contact-cards {
  display: grid; grid-template-columns: 1fr; gap: 16px;
}
@media (min-width: 768px) { .contact-cards { grid-template-columns: repeat(3, 1fr); } }

.contact-card {
  display: flex; align-items: flex-start; gap: 14px;
  padding: 20px;
  border: 1px solid #e4e4e7;
  background: #fff;
  color: #0a0a0a;
  transition: border-color .25s ease;
}
.contact-card:not(.no-hover):hover { border-color: #ff3b30; }
.contact-card i { color: #ff3b30; font-size: 1.4rem; margin-top: 4px; }
.card-over {
  font-size: 0.65rem; font-weight: 700; letter-spacing: 0.2em;
  text-transform: uppercase; color: #71717a;
}
.card-title {
  font-family: "Outfit", system-ui, sans-serif;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.35;
  margin-top: 4px;
  word-break: break-word;
}

/* Mini footer */
.mini-footer { padding: 40px 0 !important; }
.mini-footer-row {
  display: flex; flex-direction: column; gap: 12px;
  align-items: flex-start; justify-content: space-between;
  font-size: 0.85rem; color: #a1a1aa;
}
@media (min-width: 768px) { .mini-footer-row { flex-direction: row; align-items: center; } }
.mini-links { display: flex; gap: 24px; }
.mini-links a { color: #d4d4d8; transition: color .2s; }
.mini-links a:hover { color: #fff; }
