/* ˇpStyling - Matching Website Typography */
.cms-content {
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0px;
  color: #202738;
}

.cms-content h1,
.cms-content h2,
.cms-content h3,
.cms-content h4,
.cms-content h5,
.cms-content h6 {
  font-family: 'DM Serif Display', serif;
  margin-top: 20px;
  margin-bottom: 10px;
  line-height: 1.3;
  letter-spacing: 0px;
  font-weight: 400;
}

.cms-content h1 { font-size: 40px; line-height: 40px; }
.cms-content h2 { font-size: 32px; }
.cms-content h3 { font-size: 28px; }
.cms-content h4 { font-size: 24px; }
.cms-content h5 { font-size: 20px; }
.cms-content h6 { font-size: 18px; }

.cms-content p {
  margin-bottom: 15px;
  line-height: 25px;
}

.cms-content ul,
.cms-content ol {
  margin-bottom: 15px;
  line-height: 25px;
  padding-left: 15px;
}

.cms-content ul li {
  margin-bottom: 8px;
  margin-left: 10px;
  list-style-type: disc;
  list-style-position: outside;
  color: #202738;
}

.cms-content ol li {
  list-style-type: decimal;
  margin-bottom: 8px;
  padding-left: 10px;
  list-style-position: outside;
  color: #202738;
}

.cms-content img {
  max-width: 100%;
  height: auto;
  margin: 15px 0;
}

.cms-content a {
  color: #a68e74;
  text-decoration: underline;
}

.cms-content a:hover {
  color: #8a7460;
}

.cms-content strong,
.cms-content b {
  font-weight: 700;
}

.cms-content em,
.cms-content i {
  font-style: italic;
}

.cms-content blockquote {
  border-left: 4px solid #a68e74;
  padding-left: 20px;
  margin: 20px 0;
  color: #666;
  font-style: italic;
  line-height: 25px;
}

.cms-content table {
  width: auto !important;
  border-collapse: collapse;
  margin: 20px 0;
  border: 1px solid #ddd;
  display: table;
  table-layout: auto !important;
}

.cms-content table th,
.cms-content table td {
  border: 1px solid #ddd;
  padding: 6px 10px;
  text-align: left;
  line-height: 1.3;
  vertical-align: top;
  color: #202738;
  width: auto !important;
}

.cms-content table th:hover,
.cms-content table td:hover,
.cms-content table tr:hover th,
.cms-content table tr:hover td {
  color: #202738 !important;
  background-color: transparent;
}

.cms-content table a,
.cms-content table a:visited,
.cms-content table a:hover {
  color: #a68e74 !important;
  text-decoration: underline;
}

.cms-content table p {
  margin-bottom: 0 !important;
  margin-top: 5px !important;
}

.cms-content table p:first-child {
  margin-top: 0 !important;
}

.cms-content table p:last-child {
  margin-bottom: 0 !important;
}

/* Hide empty elements inside table cells */
.cms-content table h1:empty,
.cms-content table h2:empty,
.cms-content table h3:empty,
.cms-content table h4:empty,
.cms-content table h5:empty,
.cms-content table h6:empty,
.cms-content table p:empty {
  display: none;
}

/* Default table font size, can be overridden by inline styles */
.cms-content table:not([style*="font-size"]) th,
.cms-content table:not([style*="font-size"]) td {
  font-size: 14px;
}

.cms-content table th {
  background-color: #f5f5f5;
  font-weight: 700;
}

.cms-content hr {
  border: none;
  border-top: 1px solid #ddd;
  margin: 20px 0;
}

/* Preserve existing myList styles */
.cms-content ul.myList li {
  list-style-type: none;
}

.cms-content .checklist {
  list-style: none;
  padding-left: 0;
  line-height: 25px;
}

.cms-content .checklist li {
  margin-bottom: 8px;
  padding-left: 30px;
  text-indent: -30px;
  list-style-type: none;
}

.cms-content .checklist li::before {
  content: "✅ ";
  display: inline-block;
  width: 30px;
  text-indent: 0;
}

.cms-content .unchecklist {
  list-style: none;
  padding-left: 0;
  line-height: 25px;
}

.cms-content .unchecklist li {
  margin-bottom: 8px;
  padding-left: 30px;
  text-indent: -30px;
  list-style-type: none;
}

.cms-content .unchecklist li::before {
  content: "⬜ ";
  display: inline-block;
  width: 30px;
  text-indent: 0;
}