/* =========================
   TERMS / LEGAL PREMIUM
========================= */

body:has(.kc-legal-new) {
  background: #f7f4ee;
}

body:has(.kc-legal-new) .kc-main {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: auto !important;
  width: 100% !important;
  max-width: none !important;
}

.kc-legal-new {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  background: #f7f4ee;
  color: #102b25;
}

/* HERO FULL WIDTH */
.kc-legal-hero {
  width: 100%;
  padding: 120px 24px 105px;
  text-align: center;
  background:
    radial-gradient(circle at 72% 20%, rgba(212,169,83,.24), transparent 38%),
    linear-gradient(135deg, #173F35 0%, #0f2b25 58%, #061411 100%);
}

.kc-container {
  max-width: 980px;
  margin: 0 auto;
}

.kc-legal-tag {
  display: inline-block;
  color: #d4a953;
  text-transform: uppercase;
  letter-spacing: .22em;
  font-size: .76rem;
  font-weight: 900;
  margin-bottom: 18px;
}

.kc-legal-hero h1 {
  color: #fff;
  font-size: clamp(2.7rem, 5vw, 5rem);
  line-height: 1.04;
  margin: 0 0 24px;
}

.kc-legal-hero p {
  max-width: 760px;
  margin: 0 auto;
  color: rgba(255,255,255,.86);
  font-size: 1.08rem;
  line-height: 1.8;
}

.kc-legal-hero strong {
  color: #f2d18a;
}

/* BODY */
.kc-legal-body {
  padding: 90px 24px;
}

.kc-legal-content {
  max-width: 980px;
  display: grid;
  gap: 22px;
}

/* CARDS */
.kc-legal-card {
  background: #fff;
  padding: 36px;
  border-radius: 28px;
  border: 1px solid rgba(212,169,83,.25);
  box-shadow: 0 18px 45px rgba(23,63,53,.08);
  transition: .25s ease;
}

.kc-legal-card:hover {
  transform: translateY(-4px);
  border-color: rgba(212,169,83,.6);
}

.kc-legal-card h2 {
  color: #102b25;
  font-size: 1.55rem;
  margin: 0 0 14px;
}

.kc-legal-card p {
  color: #333;
  line-height: 1.78;
  margin: 0;
}

.kc-legal-card ul {
  margin: 14px 0 0;
  padding-left: 22px;
  color: #333;
  line-height: 1.75;
}

.kc-legal-card li::marker {
  color: #d4a953;
}

/* MOBILE */
@media (max-width: 580px) {
  .kc-legal-hero {
    padding: 86px 22px 72px;
  }

  .kc-legal-hero h1 {
    font-size: 2.65rem;
  }

  .kc-legal-body {
    padding: 64px 22px;
  }

  .kc-legal-card {
    padding: 28px;
    border-radius: 24px;
  }
}