Chuyện lạ mà thật: Chồng mất, vợ yêu và cưới cháu ruột
Có những câu chuyện đời thường khiến ta lặng đi vì thương cảm, nhưng cũng để lại trong lòng một niềm tin rằng tình yêu thương chân thành vẫn còn hiện hữu.
Cô gái tên V., sinh năm 1993 tại Lâm Đồng, từng nghĩ rằng hạnh phúc đã mỉm cười trọn vẹn với mình. Năm 2013, cô nên duyên cùng người đàn ông mà mình yêu thương. Cùng nhau, họ đón chào cậu con trai đầu lòng, rồi tiếp nối niềm vui bằng sự ra đời của bé trai thứ hai năm 2016. Đến năm 2021, gia đình lại hân hoan khi có thêm cậu con út kháu khỉnh. Hạnh phúc tưởng như đã đủ đầy.
Thế nhưng cuộc đời luôn có những ngã rẽ khó lường. Khi mang thai bé út ở tháng thứ tám, một biến cố bất ngờ đã cướp mất chỗ dựa mà cô yêu thương nhất — người chồng. Khoảnh khắc ấy, cô tưởng như chẳng thể gượng dậy. Nhưng nhìn hai đứa con nhỏ và đứa con chưa kịp chào đời, cô biết mình phải tiếp tục sống, phải mạnh mẽ để làm điểm tựa cho các con.
Ngày bé út chào đời cũng là ngày cô bắt đầu hành trình một mình nuôi ba cậu con trai. Nỗi đau càng chồng chất khi cậu con trai thứ hai không may mắc rối loạn phổ tự kỷ — một dạng rối loạn phát triển khiến trẻ gặp khó khăn trong giao tiếp, tương tác xã hội và thường có những hành vi hoặc sở thích lặp đi lặp lại. Năm nay đã chín tuổi, con vẫn chưa nói được lời nào, nhưng lại rất tình cảm, biết ai thương mình và cũng biết yêu thương ngược lại. Chính sự hồn nhiên ấy càng khiến cô đau đáu và dành nhiều tình thương cho con hơn nữa.
Một người phụ nữ gánh vác cả ba con nhỏ, đi qua những ngày tháng tưởng chừng không gượng dậy nổi. Đã có lúc cô lo sợ: “Nếu mình ngã xuống, ai sẽ lo cho con đây?”. Những đêm dài chất chứa nỗi buồn không thể sẻ chia, cô chỉ biết cắn răng ôm trọn trong lòng.
May mắn thay, trong lúc chông chênh nhất, có một người đã lặng lẽ bước đến. Đó là người cháu ruột của chồng — người dành cho mẹ con cô sự quan tâm, che chở đúng lúc. Từ sự cảm thông, sẻ chia, anh dần trở thành chỗ dựa ấm áp, giúp cô xoa dịu vết thương lòng. Hai bên gia đình cũng thấu hiểu và chấp nhận cho họ đến với nhau. Anh thương ba đứa trẻ như con ruột, và các con cũng đáp lại tình thương ấy bằng sự gắn bó chân thành.
Dẫu vậy, ngoài kia vẫn có những ánh nhìn khắt khe, những lời dị nghị rằng lựa chọn ấy là không đúng. Nhưng với cô, sau tất cả mất mát đã trải qua, cô hiểu rõ giá trị của sự trân trọng. Người ta có thể hỏi: “Đàn ông tốt ngoài kia nhiều, sao lại chọn anh ấy?”. Câu trả lời giản dị lắm: bởi chỉ có anh là người dám yêu thương, dám đồng hành cùng mẹ con cô — điều mà người ngoài hay thậm chí ruột thịt cũng khó làm được.
Cuộc đời ngắn ngủi, cô chỉ mong mỗi ngày được nhìn các con lớn khôn trong hạnh phúc, được sống trọn vẹn bên những người mình thương yêu. Hạnh phúc không ở đâu xa, nó nằm ngay trong hiện tại, trong trái tim biết trân trọng những gì mình đang có.
Bởi đời người chỉ có một lần, quá khứ dù buồn đau đến đâu cũng chỉ là một chặng đường đã qua. Điều quan trọng là bước tiếp về phía trước, sống thật ý nghĩa cho chính mình và cho những người thân yêu.
bao nhiêu giờ không che nữa (lúc thử có thể đặt 0.05 = 3 phút)
minSeconds: 1, // vào trang dưới bấy nhiêu giây mà bấm -> chỉ mở nội dung, không mở link
iosGuide: true, // iPhone trong app: bài thứ 2 hiện bảng hướng dẫn mở Safari
iosGuideHours: 2, // bảng hướng dẫn hiện trong bao nhiêu giờ sau lần bấm
guideSkip: true, // bảng hướng dẫn có nút "Vẫn đọc tại đây" (nên để true)
gaId: "", // mã Google Analytics (G-XXXXXXX) nếu muốn đếm lượt bấm
titleImage: "Ảnh đang được ẩn",
titleVideo: "Video đang được ẩn",
button: "Chạm để xem",
note: "Mở quảng cáo, sau đó quay lại trang này để xem tiếp",
badge: "Tài trợ"
};
var EX = [
".related-posts", ".related", ".PopularPosts", ".FeaturedPost",
".sidebar", "#sidebar", ".comments", "#comments",
".adsbygoogle", ".s-no-blur", ".post-share-buttons", ".author-profile",
".blur-media-wrap", ".sensitive-media-wrap" // bài đã có màng che riêng -> không che chồng
];
// Màng che có sẵn trong bài (nhận cả tên cũ lẫn tên mới): gắn affiliate vào nút "Xem" của nó
var WRAP = ".blur-media-wrap, .sensitive-media-wrap";
var WRAP_OVERLAY = ".blur-media-overlay, .sensitive-media-overlay";
var WRAP_OPENED = "revealed";
var CONTENT = ".post-body, .entry-content";
var MEDIA = "img, video, iframe[src*='youtube.com/embed'], iframe[src*='blogger.com/video'], iframe[src*='mediadelivery.net']";
var W = CFG.worker.replace(/\/+$/, "");
var startTime = Date.now();
var ua = navigator.userAgent || navigator.vendor || "";
var isAndroid = /Android/i.test(ua);
var isIOS = !isAndroid && (/iPad|iPhone|iPod/i.test(ua) ||
(/Macintosh/i.test(ua) && navigator.maxTouchPoints > 1));
var isMobile = isAndroid || isIOS;
var isPC = !isMobile;
var isInApp = /FBAN|FBAV|FBIOS|FB_IAB|FB4A|Instagram|Zalo|Line\//i.test(ua);
var isAndroidChrome = isAndroid && /Chrome/i.test(ua) && !/wv\)|FBAN|FBAV|Instagram/i.test(ua);
var iosCycle = isIOS && isInApp && CFG.iosGuide;
var params;
try { params = new URLSearchParams(location.search); } catch (e) { params = { get: function () { return null; } }; }
var forceGuide = params.get("iab") === "1";
function ls(key, val) {
try {
if (val === undefined) return localStorage.getItem(key);
if (val === null) localStorage.removeItem(key); else localStorage.setItem(key, val);
} catch (e) { return null; }
}
var until = function (key) { return parseInt(ls(key) || "0", 10) || 0; };
var GUIDE_KEY = "aff_ios_guide_until";
var GUIDE_PAGE = "aff_ios_guide_page";
function guideActive() {
return forceGuide ||
(iosCycle && Date.now() < until(GUIDE_KEY) && ls(GUIDE_PAGE) !== location.pathname);
}
function appName() {
if (/Instagram/i.test(ua)) return "Instagram";
if (/MessengerForiOS|FB_IAB\/MESSENGER/i.test(ua)) return "Messenger";
if (/Zalo/i.test(ua)) return "Zalo";
if (/Line\//i.test(ua)) return "LINE";
return "Facebook";
}
function showGuide() {
if (document.getElementById("aff-guide")) return;
try {
var u = new URL(location.href);
u.searchParams.set("aff", "tt");
u.searchParams.delete("iab");
history.replaceState(history.state, "", u.toString());
} catch (e) {}
var st = document.createElement("style");
st.textContent = [
"html.aff-guide body > *:not(#aff-guide){display:none!important}",
"#aff-guide{position:fixed;inset:0;z-index:2147483647;display:flex;align-items:center;justify-content:center;",
"padding:96px 16px 24px;background:#f5f6fa;color:#1c1e21;overflow-y:auto;",
"font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}",
"#aff-guide .g-box{width:100%;max-width:420px;text-align:center}",
"#aff-guide .g-icon{width:88px;height:88px;margin:0 auto 24px;border-radius:50%;background:#e7ecf7;",
"display:flex;align-items:center;justify-content:center}",
"#aff-guide h2{font-size:22px;font-weight:800;margin:0 0 12px;text-transform:uppercase}",
"#aff-guide .g-desc{font-size:15px;line-height:1.5;color:#65676b;margin:0 0 24px}",
"#aff-guide .g-step{text-align:left;background:#fff;border-left:4px solid #1877f2;border-radius:12px;",
"padding:16px;margin-bottom:12px;font-size:15px;line-height:1.5;box-shadow:0 1px 3px rgba(0,0,0,.06)}",
"#aff-guide .g-tag{background:#fff3e0;color:#b26a00;font-weight:700;padding:1px 6px;border-radius:4px}",
"#aff-guide .g-blue{color:#1877f2;font-weight:700}",
"#aff-guide .g-btn{display:block;width:100%;border:0;border-radius:10px;padding:14px;font-size:16px;",
"font-weight:700;margin-top:12px;cursor:pointer}",
"#aff-guide .g-primary{background:#1877f2;color:#fff}",
"#aff-guide .g-secondary{background:#e4e6eb;color:#1c1e21}",
"#aff-guide .g-toast{font-size:13px;color:#31a24c;min-height:18px;margin-top:8px;word-break:break-all}",
"#aff-guide .g-skip{display:block;margin:14px auto 0;background:none;border:0;color:#65676b;font-size:14px;text-decoration:underline;cursor:pointer}",
"#aff-guide .g-arrow{position:fixed;top:2px;right:10px;display:flex;flex-direction:column;align-items:flex-end;",
"pointer-events:none;animation:g-bounce 1.1s ease-in-out infinite}",
"#aff-guide .g-arrow span{margin:-6px 44px 0 0;padding:5px 10px;border-radius:999px;background:#e8830c;color:#fff;",
"font-size:13px;font-weight:700;white-space:nowrap;box-shadow:0 2px 6px rgba(232,131,12,.35)}",
"@keyframes g-bounce{0%,100%{transform:translate(0,0)}50%{transform:translate(4px,-7px)}}",
"@media (prefers-reduced-motion:reduce){#aff-guide .g-arrow{animation:none}}"
].join("");
(document.head || document.documentElement).appendChild(st);
var g = document.createElement("div");
g.id = "aff-guide";
g.setAttribute("role", "dialog");
g.setAttribute("aria-modal", "true");
g.innerHTML =
'
' +
'' +
'Bấm vào đây
' +
'
' +
'' +
'
Xem chi tiết bài viết
' +
'
Bài viết hiển thị tốt nhất trên Safari. ' +
'Bạn có thể mở bằng Safari, hoặc đọc tiếp ngay tại :
' +
'
BƯỚC 1: Bấm vào biểu tượng DẤU 3 CHẤM (…) ' +
'ở góc trên bên phải màn hình (chỗ mũi tên đang chỉ).
' +
'
BƯỚC 2: Chọn "Mở bằng trình duyệt ngoài" ' +
'(hoặc "Open in Safari").
' +
'' +
'' +
'' +
(CFG.guideSkip ? '' : '') +
'
';
g.querySelector(".g-app").textContent = appName();
document.body.appendChild(g);
document.documentElement.classList.add("aff-guide");
var toast = g.querySelector("#g-toast"), tm;
function say(msg) { toast.textContent = msg; clearTimeout(tm); tm = setTimeout(function () { toast.textContent = ""; }, 3500); }
g.querySelector("#g-open").addEventListener("click", function () {
location.href = "x-safari-" + location.href;
setTimeout(function () { say("Nếu chưa chuyển sang Safari, bạn làm theo 2 bước ở trên nhé."); }, 1500);
});
var sk = g.querySelector("#g-skip");
if (sk) sk.addEventListener("click", function () {
// Đọc tiếp trong app: gỡ bảng, không nhắc lại trong lượt này
ls(GUIDE_KEY, null); // người đọc chọn ở lại: không nhắc lại ở các bài sau
try { var u = new URL(location.href); u.searchParams.delete("aff"); history.replaceState(history.state, "", u.toString()); } catch (e) {}
g.remove(); st.remove();
document.documentElement.classList.remove("aff-guide");
});
g.querySelector("#g-copy").addEventListener("click", function () {
var url = location.href;
function fallback() {
var ta = document.createElement("textarea");
ta.value = url; ta.setAttribute("readonly", "");
ta.style.position = "fixed"; ta.style.opacity = "0";
document.body.appendChild(ta); ta.select(); ta.setSelectionRange(0, url.length);
var done = false; try { done = document.execCommand("copy"); } catch (e) {}
document.body.removeChild(ta);
say(done ? "Đã sao chép! Mở Safari và dán link vào." : url);
}
if (navigator.clipboard && window.isSecureContext) {
navigator.clipboard.writeText(url).then(function () { say("Đã sao chép! Mở Safari và dán link vào."); }, fallback);
} else fallback();
});
}
if (guideActive()) { showGuide(); return; }
if (isPC && CFG.pc === "off") return;
var HIDE_KEY = "aff_hide_until";
if (Date.now() < until(HIDE_KEY)) return;
var HISTORY_KEY = "aff_last" + (isPC ? "_pc" : "_mobile");
var SITES = {
sh: { key: "sh", app: "Shopee", color: "#ee4d2d", label: "shopee" },
tt: { key: "tt", app: "TikTok Shop", color: "#fe2c55", label: "tiktok" }
};
var forced = params.get("aff");
var last = ls(HISTORY_KEY);
var target = isPC ? (CFG.pc === "tiktok" ? SITES.tt : SITES.sh)
: iosCycle ? SITES.sh
: (forced === "tt" || forced === "sh") ? SITES[forced]
: last === "sh" ? SITES.tt
: last === "tt" ? SITES.sh
: (Math.random() * 100 < CFG.ttPercent ? SITES.tt : SITES.sh);
var ttLinks = null;
if (isAndroid && target.key === "tt" && window.fetch) {
fetch(W + "/tt-link", { mode: "cors", cache: "no-store" })
.then(function (r) { return r.ok ? r.json() : null; })
.then(function (d) { if (d && d.ok && d.deep) ttLinks = d; })
.catch(function () {});
}
function openTab(url) {
var w = window.open(url, "_blank");
if (w) { try { w.opener = null; } catch (e) {} } else { location.href = url; }
}
function openShopee() { openTab(W + "/sp"); }
function openTikTok() {
var TT = W + "/tt";
if (isIOS) { location.href = TT; return; }
if (!isAndroid) { openTab(TT); return; }
if (!ttLinks) { location.href = TT; return; }
if (isAndroidChrome && ttLinks.intent) { location.href = ttLinks.intent; return; }
var timer = setTimeout(function () { location.href = TT; }, isInApp ? 1800 : 2300);
var cancel = function () { clearTimeout(timer); };
document.addEventListener("visibilitychange", function () { if (document.hidden) cancel(); }, { once: true });
window.addEventListener("pagehide", cancel, { once: true });
location.href = ttLinks.deep;
}
function isRealClick(e) {
if (!e || e.isTrusted === false) return false;
if (navigator.webdriver) return false;
if (Date.now() - startTime < CFG.minSeconds * 1000) return false;
return true;
}
if (!document.getElementById("s-style")) {
var s = document.createElement("style");
s.id = "s-style";
s.textContent = [
".s-wrap{position:relative!important;isolation:isolate}",
".s-wrap.s-inline{display:inline-block!important}",
".s-wrap.s-locked{overflow:hidden;border-radius:14px}",
".s-locked>.s-media{filter:blur(22px) saturate(1.3) brightness(.9);transform:scale(1.12)}",
".s-media{transition:filter .35s ease,transform .35s ease}",
".s-ov{position:absolute;inset:0;z-index:99;display:flex;align-items:center;justify-content:center;",
"padding:16px;box-sizing:border-box;cursor:pointer;text-align:center;color:#fff;",
"font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;",
"background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.45) 100%);",
"-webkit-tap-highlight-color:transparent}",
".s-card{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:300px}",
".s-ico{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;",
"background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.4);",
"-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}",
".s-title{font-size:17px;font-weight:700;line-height:1.3;text-shadow:0 1px 6px rgba(0,0,0,.45)}",
".s-btn{display:inline-flex;align-items:center;gap:8px;background:var(--s-c);color:#fff;font-size:15px;",
"font-weight:700;padding:11px 22px;border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,.3);",
"animation:s-pulse 2s ease-in-out infinite}",
".s-note{font-size:12.5px;opacity:.92;text-shadow:0 1px 4px rgba(0,0,0,.5)}",
".s-badge{position:absolute;top:10px;left:10px;font-size:11px;font-weight:600;letter-spacing:.3px;",
"padding:3px 8px;border-radius:6px;background:rgba(0,0,0,.4);color:#fff}",
".s-wrap-note{margin-top:6px;font-size:11.5px;line-height:1.4;color:#fff;background:rgba(0,0,0,.4);",
"padding:4px 10px;border-radius:999px;text-align:center;max-width:90%}",
".s-ov.s-compact .s-ico{display:none}",
".s-ov.s-compact .s-badge{top:6px;left:6px;font-size:10px;padding:2px 6px}",
".s-note:empty{display:none}",
".s-ov.s-compact .s-note{font-size:11px}",
".s-ov.s-compact .s-title{font-size:14px}",
".s-ov.s-compact .s-btn{padding:8px 16px;font-size:13px}",
"@keyframes s-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}",
"@media (prefers-reduced-motion:reduce){.s-btn{animation:none}}"
].join("");
(document.head || document.documentElement).appendChild(s);
}
var ICON_IMG = '';
var ICON_VID = '';
function unlockAll() {
document.querySelectorAll(".s-ov").forEach(function (el) { el.remove(); });
document.querySelectorAll(".s-locked").forEach(function (el) { el.classList.remove("s-locked"); });
}
var affDone = false;
function fireAffiliate(e) {
if (affDone) return;
if (!isRealClick(e)) return;
affDone = true;
unlockAll();
document.querySelectorAll(".s-wrap-note").forEach(function (el) { el.remove(); });
ls(HISTORY_KEY, target.key);
if (CFG.cooldownHours > 0) ls(HIDE_KEY, String(Date.now() + CFG.cooldownHours * 3600000));
if (iosCycle) {
ls(GUIDE_KEY, String(Date.now() + CFG.iosGuideHours * 3600000));
ls(GUIDE_PAGE, location.pathname);
}
if (forced) {
try { var u = new URL(location.href); u.searchParams.delete("aff"); history.replaceState(history.state, "", u.toString()); } catch (er) {}
}
if (CFG.gaId && typeof gtag === "function") {
gtag("event", "affiliate_click", { send_to: CFG.gaId, event_category: "affiliate", event_label: target.label });
}
if (target.key === "sh") openShopee(); else openTikTok();
}
function onOverlayClick(e) {
e.preventDefault();
e.stopPropagation();
unlockAll();
fireAffiliate(e);
}
function makeOverlay(p, isVideo) {
if (p.querySelector(":scope > .s-ov")) return;
var o = document.createElement("div");
o.className = "s-ov";
o.setAttribute("data-app", target.key);
o.style.setProperty("--s-c", target.color);
if (p.getBoundingClientRect().height < 150) o.classList.add("s-compact");
o.innerHTML =
'' +
'
' +
'
' + (isVideo ? ICON_VID : ICON_IMG) + '
' +
'' +
'
';
o.querySelector(".s-badge").textContent = CFG.badge;
o.querySelector(".s-title").textContent = isVideo ? CFG.titleVideo : CFG.titleImage;
o.querySelector(".s-btn").textContent = CFG.button;
o.querySelector(".s-note").textContent = CFG.note ? CFG.note.replace("{app}", target.app) : "";
p.appendChild(o);
o.addEventListener("click", onOverlayClick, true);
}
function hookWrap(w) {
if (w.dataset.aff) return;
w.dataset.aff = "1";
var ov = w.querySelector(WRAP_OVERLAY);
if (ov) {
var n = document.createElement("div");
n.className = "s-wrap-note";
n.textContent = CFG.note ? CFG.badge + " · " + CFG.note.replace("{app}", target.app) : CFG.badge;
ov.appendChild(n);
}
w.addEventListener("click", function (e) {
if (affDone || w.classList.contains(WRAP_OPENED)) return;
fireAffiliate(e);
}, true);
}
function valid(el) {
if (el.dataset.s) return false;
return !EX.some(function (x) { return el.closest(x); });
}
function processElement(el) {
if (!valid(el)) return;
if (el.tagName === "IMG") {
if (!el.complete || !el.naturalWidth) {
if (!el.dataset.sWait) {
el.dataset.sWait = "1";
el.addEventListener("load", function () { processElement(el); }, { once: true });
}
return;
}
if (el.getBoundingClientRect().width < 120) return;
}
var p = el.parentElement;
if (!p) return;
if (p.matches(CONTENT) || p.children.length > 1) {
var w = document.createElement("span");
w.style.cssText = "display:inline-block;max-width:100%;vertical-align:top";
p.insertBefore(w, el);
w.appendChild(el);
p = w;
}
el.dataset.s = "1";
el.classList.add("s-media");
p.classList.add("s-wrap", "s-locked");
if (getComputedStyle(p).display === "inline") p.classList.add("s-inline");
makeOverlay(p, el.tagName === "IFRAME" || el.tagName === "VIDEO");
}
function scan(root) {
if (!root || root.nodeType !== 1) return;
if (root.matches && root.matches(WRAP)) hookWrap(root);
root.querySelectorAll(WRAP).forEach(hookWrap);
if (root.matches && root.matches(MEDIA)) processElement(root);
root.querySelectorAll(MEDIA).forEach(processElement);
}
function init() {
document.querySelectorAll(CONTENT).forEach(function (box) {
scan(box);
new MutationObserver(function (rs) {
rs.forEach(function (r) { r.addedNodes.forEach(function (n) { if (n.nodeType === 1) scan(n); }); });
}).observe(box, { childList: true, subtree: true });
});
}
if (document.readyState === "loading") document.addEventListener("DOMContentLoaded", init, { once: true });
else init();
})();
//]]>