/* Ventas Terms & Conditions and Privacy Notice Styles */

/* Apply Poppins font family to match theme */
.terms,
.privacyPolicy,
.terms *,
.privacyPolicy * {
  font-family: "Poppins-Regular", serif !important;
  font-size: 12px;
}

.terms h1,
.terms h2,
.terms h3,
.privacyPolicy h1,
.privacyPolicy h2,
.privacyPolicy h3 {
  font-family: "Poppins-Bold", serif !important;
}

.terms strong,
.terms b,
.privacyPolicy strong,
.privacyPolicy b {
  font-family: "Poppins-Medium", serif !important;
}

/* Apply to both wrapped and unwrapped content */
.ventas-legal-content,
#kc-terms-text {
  max-width: 760px;
  margin: 0 auto;
  padding: 0;
}

/* Card styles - work with or without wrapper */
.ventas-legal-content .card,
#kc-terms-text .card,
.terms .card {
  background: #FFFFFF;
  border: 1px solid #E3E5EA;
  border-radius: 10px;
  padding: 22px 24px;
  margin-bottom: 16px;
}

.ventas-legal-content .card h2,
#kc-terms-text .card h2,
.terms .card h2 {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 10px;
  color: #15181E;
}

.ventas-legal-content .card h3,
#kc-terms-text .card h3,
.terms .card h3 {
  font-size: 14px;
  font-weight: 700;
  margin: 14px 0 6px;
  color: #15181E;
}

.ventas-legal-content .card p,
.ventas-legal-content .card li,
#kc-terms-text .card p,
#kc-terms-text .card li,
.terms .card p,
.terms .card li {
  font-size: 12px;
  color: #33383F;
  line-height: 1.6;
}

.ventas-legal-content .card ul,
#kc-terms-text .card ul,
.terms .card ul {
  padding-left: 20px;
  margin: 6px 0 10px;
}

.ventas-legal-content .card li,
#kc-terms-text .card li,
.terms .card li {
  margin-bottom: 4px;
}

.ventas-legal-content .num,
#kc-terms-text .num,
.terms .num {
  color: #854F0B;
  font-weight: 700;
  margin-right: 6px;
}

/* Table styles for definitions */
.ventas-legal-content table.defs,
#kc-terms-text table.defs,
.terms table.defs {
  width: 100%;
  border-collapse: collapse;
  margin: 10px 0 16px;
  font-size: 12px;
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.ventas-legal-content table.defs th,
.ventas-legal-content table.defs td,
#kc-terms-text table.defs th,
#kc-terms-text table.defs td,
.terms table.defs th,
.terms table.defs td {
  border: 1px solid #E3E5EA;
  padding: 8px 10px;
  text-align: left;
  vertical-align: top;
}

.ventas-legal-content table.defs th,
#kc-terms-text table.defs th,
.terms table.defs th {
  background: #F4F5F7;
  font-weight: 700;
  width: 30%;
  color: #15181E;
  min-width: 120px;
}

.ventas-legal-content table.defs td,
#kc-terms-text table.defs td,
.terms table.defs td {
  color: #33383F;
  min-width: 200px;
}

/* Pill row for data categories */
.ventas-legal-content .pillrow,
#kc-terms-text .pillrow,
.terms .pillrow {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 16px;
}

.ventas-legal-content .pill,
#kc-terms-text .pill,
.terms .pill {
  background: #FFF8E1;
  border: 1px solid #FFE9A8;
  color: #854F0B;
  font-size: 12px;
  font-weight: 600;
  padding: 5px 11px;
  border-radius: 999px;
  display: inline-block;
}

/* Note/warning box */
.ventas-legal-content .note,
#kc-terms-text .note,
.terms .note {
  background: #FFF8E1;
  border: 1px solid #FFE9A8;
  border-radius: 8px;
  padding: 12px 14px;
  font-size: 12px;
  color: #6B4A0A;
  margin: 10px 0;
}

.ventas-legal-content .note b,
#kc-terms-text .note b,
.terms .note b {
  color: #5A3D08;
}

/* Contact grid */
.ventas-legal-content .contactgrid,
#kc-terms-text .contactgrid,
.terms .contactgrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 8px;
}

.ventas-legal-content .contactgrid div,
#kc-terms-text .contactgrid div,
.terms .contactgrid div {
  font-size: 12px;
  color: #33383F;
}

.ventas-legal-content .contactgrid .label,
#kc-terms-text .contactgrid .label,
.terms .contactgrid .label {
  color: #5B6472;
  font-size: 11.5px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 2px;
  font-weight: 600;
}

/* Mobile & Tablet Responsive adjustments */
@media (max-width: 768px) {
  /* Contact grid stacks vertically on mobile */
  .ventas-legal-content .contactgrid,
  #kc-terms-text .contactgrid,
  .terms .contactgrid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  /* Reduce card padding on mobile */
  .ventas-legal-content .card,
  #kc-terms-text .card,
  .terms .card {
    padding: 14px 16px;
    margin-bottom: 12px;
    border-radius: 8px;
  }
  
  /* Smaller font sizes for mobile */
  .ventas-legal-content .card h2,
  #kc-terms-text .card h2,
  .terms .card h2 {
    font-size: 15px;
  }
  
  .ventas-legal-content .card p,
  .ventas-legal-content .card li,
  #kc-terms-text .card p,
  #kc-terms-text .card li,
  .terms .card p,
  .terms .card li {
    font-size: 12px;
    line-height: 1.5;
  }
  
  /* Table adjustments for mobile */
  .ventas-legal-content table.defs,
  #kc-terms-text table.defs,
  .terms table.defs {
    font-size: 12px;
    margin: 8px -16px 12px;
    width: calc(100% + 32px);
  }
  
  .ventas-legal-content table.defs th,
  .ventas-legal-content table.defs td,
  #kc-terms-text table.defs th,
  #kc-terms-text table.defs td,
  .terms table.defs th,
  .terms table.defs td {
    font-size: 11px;
    padding: 6px 8px;
    min-width: 100px;
  }
  
  /* Pills wrap better on mobile */
  .ventas-legal-content .pill,
  #kc-terms-text .pill,
  .terms .pill {
    font-size: 11px;
    padding: 4px 10px;
  }
  
  /* Note box on mobile */
  .ventas-legal-content .note,
  #kc-terms-text .note,
  .terms .note {
    padding: 10px 12px;
    font-size: 12px;
    margin: 8px 0;
  }
  
  /* Number badge smaller on mobile */
  .ventas-legal-content .num,
  #kc-terms-text .num,
  .terms .num {
    font-size: 14px;
  }
}

/* Extra small devices (phones in portrait) */
@media (max-width: 480px) {
  .ventas-legal-content .card,
  #kc-terms-text .card,
  .terms .card {
    padding: 12px 14px;
  }
  
  .ventas-legal-content .card h2,
  #kc-terms-text .card h2,
  .terms .card h2 {
    font-size: 14px;
  }
  
  .ventas-legal-content .card p,
  .ventas-legal-content .card li,
  #kc-terms-text .card p,
  #kc-terms-text .card li,
  .terms .card p,
  .terms .card li {
    font-size: 12px;
  }
}
