.ae-article-content { text-align: justify; text-align-last: left; text-justify: inter-word; hyphens: auto; overflow-wrap: break-word; }
.ae-article-content p { margin-bottom: 18px; line-height: 1.78; }
.ae-article-content h4 { margin-top: 36px; margin-bottom: 16px; color: #222; }
.ae-toc { background: #f7f8ff; border-left: 4px solid #3f51b5; padding: 22px 26px; margin: 28px 0 34px; border-radius: 4px; }
.ae-toc .h4 { margin-top: 0; margin-bottom: 14px; }
.ae-toc ul { margin: 0; padding-left: 20px; }
.ae-toc li { margin: 8px 0; }
.ae-toc a { color: #3f51b5; font-weight: 500; }
.ae-table-wrap { margin: 26px 0 34px; overflow-x: auto; box-shadow: 0 10px 26px rgba(0,0,0,0.08); border-radius: 6px; }
.ae-table { width: 100%; min-width: 760px; border-collapse: collapse; background: #fff; text-align: left; }
.ae-table th { background: #3f51b5; color: #fff; padding: 14px 16px; font-weight: 600; border-right: 1px solid rgba(255,255,255,0.22); }
.ae-table td { padding: 14px 16px; border-bottom: 1px solid #e7e9f5; vertical-align: top; color: #555; }
.ae-table tr:nth-child(even) td { background: #f8f9ff; }
.ae-faq-accordion { margin-top: 24px; }
.ae-faq-accordion .card { border: 0; border-radius: 4px; overflow: hidden; box-shadow: 0 0 10px rgba(0,0,0,0.10); margin-bottom: 15px; }
.ae-faq-accordion .card-header { padding: 0; border: 0; background: #3f51b5; }
.ae-faq-accordion .btn-link { width: 100%; color: #fff; text-align: left; padding: 15px 48px 15px 26px; text-decoration: none; position: relative; white-space: normal; }
.ae-faq-accordion .btn-link:hover, .ae-faq-accordion .btn-link:focus { color: #fff; text-decoration: none; }
.ae-faq-accordion .btn-link:before { content: ""; position: absolute; right: 40px; top: 10px; bottom: 10px; border-left: 1px solid rgba(255,255,255,0.3); }
.ae-faq-accordion .btn-link:after { content: "-"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); font-weight: 700; font-size: 20px; }
.ae-faq-accordion .btn-link.collapsed:after { content: "+"; }
.ae-faq-accordion .card-body { padding: 24px 30px; background: #fff; }
@media (max-width: 767px) { .ae-article-content { text-align: left; } .ae-toc { padding: 18px 20px; } }

/* Shared article typography and responsive elements. */
.ae-article-content > h2.h3 { font-size: 30px; line-height: 1.35; margin: 18px 0 20px; color: #222; }
.ae-article-content > h3.h4 { font-size: 23px; line-height: 1.35; margin: 38px 0 16px; color: #222; scroll-margin-top: 110px; }
.ae-article-content > h4 { font-size: 19px; line-height: 1.4; margin: 28px 0 12px; color: #222; }
.ae-article-content > .lead, .ae-article-content > blockquote { font-size: 18px; line-height: 1.65; }
.ae-article-content > .lead { border-left: 4px solid #3f51b5; background: #f7f8ff; padding: 20px 24px; margin: 0 0 24px; }
.ae-article-content .ae-summary { margin-bottom: 20px; }
.ae-article-content ul, .ae-article-content ol { margin-bottom: 20px; }
.ae-article-content li { line-height: 1.7; }
.ae-article-content .ae-table th { color: #fff; }
.ae-article-content .ae-table-wrap { max-width: 100%; }
.ae-article-content .ae-toc { text-align: left; }
.ae-article-content .ae-faq-item { text-align: left; }
.ae-article-content .ae-blog-figure img, .ae-article-content .tm-blog-image img { max-width: 100%; height: auto; }
.ae-article-content .ae-blog-figure { margin: 28px 0; }
.ae-article-content .ae-blog-figure figcaption { color: #666; font-size: 14px; margin-top: 8px; }
.ae-faq-item { margin-bottom: 15px; border-radius: 4px; overflow: hidden; box-shadow: 0 0 10px rgba(0,0,0,.10); }
.ae-faq-item summary { display: block; cursor: pointer; position: relative; background: #3f51b5; color: #fff; padding: 15px 50px 15px 26px; font-weight: 600; list-style: none; }
.ae-faq-item summary::-webkit-details-marker { display: none; }
.ae-faq-item summary::before { content: ''; position: absolute; right: 40px; top: 10px; bottom: 10px; border-left: 1px solid rgba(255,255,255,.3); }
.ae-faq-item summary::after { content: '+'; position: absolute; right: 17px; top: 50%; transform: translateY(-50%); font-size: 20px; }
.ae-faq-item[open] summary::after { content: '−'; }
.ae-faq-item .ae-faq-answer { background: #fff; padding: 22px 30px; }
.ae-faq-item .ae-faq-answer p:last-child { margin-bottom: 0; }
@media (max-width: 767px) { .ae-article-content > h2.h3 { font-size: 25px; } .ae-article-content > h3.h4 { font-size: 21px; } .ae-faq-item .ae-faq-answer { padding: 18px 20px; } }

/* Keep article photos and recent-post thumbnails aligned across all blogs. */
.tm-blog-details > .tm-blog-image { aspect-ratio: 8 / 5; overflow: hidden; }
.tm-blog-details > .tm-blog-image > a { display: block; width: 100%; height: 100%; }
.tm-blog-details > .tm-blog-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ae-article-content .ae-blog-figure img { display: block; width: 100%; aspect-ratio: 8 / 5; object-fit: cover; }
.sidebar-widgets .widget-recentpost-image img,
.footer-widgets .widget-recentpost-image img { display: block; width: 60px; height: 45px; object-fit: cover; }
