/* ตัววาด LINE Flex (flexview.js) — ค่าปริยายตามแอป LINE · คลาสขึ้นต้น fv- ทั้งหมด */
.fv-flexmsg, .fv-textmsg, .fv-imagemsg { font-family: "Helvetica Neue", "IBM Plex Sans Thai", Arial, sans-serif; line-height: 1.35; text-align: left; }
.fv-textmsg { display: inline-block; max-width: 280px; padding: 9px 12px; border-radius: 18px; background: #fff; color: #111; font-size: 15px; word-break: break-word; }
.fv-imagemsg img { max-width: 240px; border-radius: 16px; display: block; }
.fv-bubble { background: #fff; border-radius: 17px; overflow: hidden; position: relative; flex: none; max-width: 100%; box-shadow: 0 1px 2px rgba(0, 0, 0, .08); }
.fv-carousel { display: flex; gap: 9px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; max-width: 100%; }
.fv-blk { position: relative; }
.fv-header > .fv-box, .fv-body > .fv-box { padding: 20px; }
.fv-footer > .fv-box { padding: 10px; }
.fv-hero > .fv-box { padding: 0; }
.fv-box { display: flex; position: relative; min-width: 0; min-height: 0; box-sizing: border-box; }
.fv-box.vertical { flex-direction: column; }
.fv-box.horizontal { flex-direction: row; }
.fv-box.baseline { flex-direction: row; align-items: baseline; }
.fv-text { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; box-sizing: border-box; }
.fv-text.wrap { white-space: pre-wrap; word-break: break-word; overflow: visible; text-overflow: clip; }
.fv-text.wrap.clamp { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
.fv-img { display: flex; min-width: 0; }
.fv-img-in { position: relative; overflow: hidden; }
.fv-img-in img { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.fv-img-ph { position: absolute; inset: 0; background: repeating-linear-gradient(45deg, #eef1f4 0 8px, #e3e7ec 8px 16px); }
.fv-icon { flex: none; align-self: baseline; object-fit: contain; }
.fv-btn { display: flex; align-items: center; justify-content: center; text-align: center; padding: 0 12px; border-radius: 6px; font-size: 16px; font-weight: 600; box-sizing: border-box; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fv-btn.link { font-weight: 500; }
.fv-sep { flex: none; }
.fv-fill { min-width: 0; min-height: 0; }
