.ed-content { --ed-green: var(--th-p); --ed-green-dark: var(--th-m2); --ed-orange: var(--th-donate); --ed-text: #2B2B2B; }
.ed-content p { margin: 0 0 12px; }
.ed-content h2 { font-size: 1.45em; margin: 24px 0 10px; line-height: 1.45; }
.ed-content h3 { font-size: 1.2em; margin: 20px 0 8px; line-height: 1.5; }
.ed-content h4 { font-size: 1.05em; margin: 16px 0 6px; line-height: 1.5; }
.ed-content ul, .ed-content ol { padding-inline-start: 26px; margin: 0 0 12px; }
.ed-content ul { list-style: disc; } .ed-content ol { list-style: decimal; }
.ed-content li { margin-bottom: 4px; }
.ed-content a { color: var(--ed-green); text-decoration: underline; text-underline-offset: 3px; }
.ed-content blockquote { margin: 16px 0; padding: 10px 18px; border-inline-start: 4px solid var(--ed-green); background: rgba(var(--th-p-rgb),.06); border-radius: 8px; color: inherit; }
.ed-content blockquote p:last-child { margin-bottom: 0; }
.ed-content hr { border: 0; border-top: 2px solid rgba(var(--th-p-rgb),.25); margin: 24px auto; width: 100%; }
.ed-content mark { background: #FFF3B0; color: inherit; padding: 0 2px; border-radius: 3px; }
.ed-content pre { direction: ltr; text-align: left; background: #f3f4f6; padding: 12px 14px; border-radius: 8px; overflow-x: auto; font-size: .9em; }
.ed-content img { max-width: 100%; height: auto; }
.ed-content figure.ed-fig { display: block; margin: 18px auto; max-width: 100%; }
.ed-content figure.ed-fig img { display: block; width: 100%; height: auto; border-radius: 10px; }
.ed-content figure.ed-fig figcaption { margin-top: 6px; font-size: .86em; color: #5e6d84; text-align: center; }
.ed-content .ed-w-25 { width: 25%; } .ed-content .ed-w-50 { width: 50%; } .ed-content .ed-w-75 { width: 75%; } .ed-content .ed-w-100 { width: 100%; }
.ed-content .ed-align-right { margin-right: 0; margin-left: auto; }
.ed-content .ed-align-left { margin-left: 0; margin-right: auto; }
.ed-content .ed-align-center { margin-left: auto; margin-right: auto; }
.ed-content .ed-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 18px 0; }
.ed-content .ed-gallery.ed-cols-2 { grid-template-columns: repeat(2, 1fr); }
.ed-content .ed-gallery.ed-cols-4 { grid-template-columns: repeat(4, 1fr); }
.ed-content .ed-gallery figure { margin: 0; }
.ed-content .ed-gallery img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 8px; }
.ed-content .ed-embed { position: relative; aspect-ratio: 16 / 9; margin: 18px 0; border-radius: 12px; overflow: hidden; background: #000; }
.ed-content .ed-embed iframe, .ed-content .ed-embed video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.ed-content .ed-callout { margin: 16px 0; padding: 12px 16px; border-radius: 10px; border-inline-start: 4px solid; }
.ed-content .ed-callout p { margin: 0 0 6px; } .ed-content .ed-callout p:last-child { margin-bottom: 0; }
.ed-content .ed-callout-info { background: #EEF4FF; border-color: #3B6FD4; color: #1e3a8a; }
.ed-content .ed-callout-success { background: #E6F4EC; border-color: var(--th-p); color: var(--th-m2); }
.ed-content .ed-callout-warning { background: #FFF1E5; border-color: var(--th-donate); color: #7c2d12; }
.ed-content .ed-btn-wrap { margin: 16px 0; }
.ed-content a.ed-btn { display: inline-block; padding: 10px 24px; border-radius: 999px; font-weight: 700; text-decoration: none; line-height: 1.5; border: 2px solid transparent; }
.ed-content a.ed-btn-green { background: var(--th-p); color: #fff; }
.ed-content a.ed-btn-orange { background: var(--th-donate); color: #2B2B2B; }
.ed-content a.ed-btn-outline { border-color: var(--th-p); color: var(--th-p); background: transparent; }
.ed-content table.ed-table { width: 100%; border-collapse: collapse; margin: 16px 0; font-size: .95em; }
.ed-content table.ed-table th, .ed-content table.ed-table td { border: 1px solid #d6dbe1; padding: 8px 12px; text-align: start; vertical-align: top; }
.ed-content table.ed-table th { background: rgba(var(--th-p-rgb),.09); font-weight: 700; }
@media (max-width: 640px) {
  .ed-content .ed-w-25 { width: 55%; } .ed-content .ed-w-50 { width: 80%; } .ed-content .ed-w-75 { width: 100%; }
  .ed-content .ed-gallery, .ed-content .ed-gallery.ed-cols-4 { grid-template-columns: repeat(2, 1fr); }
  .ed-content table.ed-table { display: block; overflow-x: auto; }
}