/* School CMS — custom styles เพิ่มเติมจาก Tailwind */

/* เนื้อหา rich text จาก TinyMCE */
.prose-content { line-height: 1.8; color: #334155; }
.prose-content h1, .prose-content h2, .prose-content h3 { font-weight: 700; color: #1a2744; margin: 1.2em 0 0.5em; }
.prose-content h2 { font-size: 1.5rem; }
.prose-content h3 { font-size: 1.25rem; }
.prose-content p { margin: 0.8em 0; }
.prose-content ul, .prose-content ol { margin: 0.8em 0; padding-left: 1.5em; }
.prose-content ul { list-style: disc; }
.prose-content ol { list-style: decimal; }
.prose-content a { color: #1d4ed8; text-decoration: underline; }
.prose-content img { max-width: 100%; height: auto; border-radius: 0.75rem; margin: 1em 0; }
.prose-content table { width: 100%; border-collapse: collapse; margin: 1em 0; }
.prose-content th, .prose-content td { border: 1px solid #e2e8f0; padding: 0.5em 0.75em; }

/* แถบข้อความวิ่ง (marquee) */
.marquee { position: relative; }
.marquee__inner {
  display: inline-block;
  white-space: nowrap;
  padding-left: 100%;
  animation: marquee 24s linear infinite;
}
.marquee:hover .marquee__inner { animation-play-state: paused; }
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-100%); }
}
@media (prefers-reduced-motion: reduce) {
  .marquee__inner { animation: none; padding-left: 0; white-space: normal; }
}

/* วิดเจ็ต HTML ในคอลัมน์ข้าง — กันรูป/iframe ล้นกรอบ */
.widget-html { max-width: 100%; overflow: hidden; }
.widget-html img,
.widget-html iframe,
.widget-html video,
.widget-html table { max-width: 100%; }
.widget-html iframe { width: 100%; border: 0; }

/* line clamp helper (เผื่อ browser เก่า) */
.line-clamp-1 { display:-webkit-box; -webkit-line-clamp:1; -webkit-box-orient:vertical; overflow:hidden; }
.line-clamp-2 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.line-clamp-3 { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
