/* ==========================================================
   KTH Lịch Việt – Design tokens & components (Flatsome / UX Builder)
   ========================================================== */
:root {
	--kth-red: #8b1e1e;
	--kth-red-2: #a8322a;
	--kth-red-soft: #fbe9e4;
	--kth-gold: #c9a24b;
	--kth-gold-2: #a8842f;
	--kth-gold-soft: #f6ebcc;
	--kth-paper: #fbf6ec;
	--kth-card: #fffdf8;
	--kth-ink: #2b2118;
	--kth-muted: #6b5b4b;
	--kth-line: #eadcc2;
	--kth-green: #2e7d4f;
	--kth-blue: #3f5fbf;
	--kth-zalo: #0068ff;
	--kth-radius: 14px;
	--kth-shadow: 0 6px 24px rgba(107, 60, 20, .08);
	--kth-serif: "Noto Serif", Georgia, serif;
	--kth-sans: "Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* Base trong phạm vi .kth để không đè Flatsome */
.kth { font-family: var(--kth-sans); color: var(--kth-ink); font-size: 15px; line-height: 1.55; }
.kth *, .kth *::before, .kth *::after { box-sizing: border-box; }
.kth h1, .kth h2, .kth h3 { font-family: var(--kth-serif); color: var(--kth-red); margin: 0; line-height: 1.25; letter-spacing: 0; text-transform: none; }
.kth h2 { font-size: clamp(20px, 2.2vw, 26px); }
.kth h3 { font-size: 17px; }
.kth p { margin: 0; }
.kth a { text-decoration: none; }
.kth-ic { width: 20px; height: 20px; flex: none; vertical-align: middle; }
.kth-ic.is-gold { color: var(--kth-gold-2); }
.kth-ic.is-green { color: var(--kth-green); }
.kth-ic.is-red { color: var(--kth-red-2); }

/* Card chung */
.kth-daycard, .kth-today, .kth-picker, .kth-upcoming, .kth-cal, .kth-tasks, .kth-faq, .kth-detail {
	background: var(--kth-card); border: 1px solid var(--kth-line); border-radius: var(--kth-radius); box-shadow: var(--kth-shadow);
}
.kth-sechead { margin-bottom: 14px; }
.kth-sechead p { color: var(--kth-muted); font-size: 14px; margin-top: 2px; }

/* Buttons */
.kth-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: 8px;
	font-weight: 600; font-size: 15px; line-height: 1; border: 1px solid transparent; cursor: pointer; transition: .15s ease; white-space: nowrap; }
.kth-btn .kth-ic { width: 18px; height: 18px; }
.kth-btn.sm { min-height: 36px; padding: 0 14px; font-size: 13.5px; }
.kth-btn--primary { background: var(--kth-red); color: #fff !important; }
.kth-btn--primary:hover { background: var(--kth-red-2); }
.kth-btn--gold { background: var(--kth-gold-soft); color: var(--kth-red) !important; border-color: var(--kth-gold); }
.kth-btn--gold:hover { background: #f1e0b0; }
.kth-btn--outline { background: #fff; color: var(--kth-gold-2) !important; border-color: var(--kth-gold); }
.kth-btn--outline:hover { background: var(--kth-gold-soft); }
.kth-btn--soft { background: var(--kth-red-soft); color: var(--kth-red) !important; border-color: #f0c9bf; }
.kth-btn--soft:hover { background: #f7d9d0; }
.kth-btn--zalo { background: var(--kth-zalo); color: #fff !important; }
.kth-btn--zalo:hover { filter: brightness(1.08); }
.kth-btn:focus-visible, .kth a:focus-visible, .kth button:focus-visible, .kth select:focus-visible, .kth input:focus-visible { outline: 3px solid var(--kth-gold); outline-offset: 2px; }
.kth-link { display: inline-flex; align-items: center; gap: 6px; color: var(--kth-red) !important; font-weight: 600; font-size: 14px; }
.kth-link .kth-ic { width: 16px; height: 16px; }
.kth-iconbtn { width: 34px; height: 34px; display: inline-grid; place-items: center; border: 1px solid var(--kth-line); background: #fff; border-radius: 8px; color: var(--kth-ink); cursor: pointer; padding: 0; margin: 0; }
.kth-iconbtn:hover { border-color: var(--kth-gold); }
.kth-chip { display: inline-block; padding: 3px 10px; border-radius: 99px; font-size: 12.5px; font-weight: 600; }
.kth-chip--le { background: var(--kth-red-soft); color: var(--kth-red); margin-top: 6px; }

/* ---------- Header CTAs ---------- */
.kth-hctas { display: flex; gap: 8px; align-items: center; }

/* ---------- Hero ---------- */
.kth-hero { text-align: center; }
.kth-hero__title { font-size: clamp(26px, 3.6vw, 40px) !important; }
.kth-hero__sub { color: var(--kth-muted); margin: 6px auto 20px !important; max-width: 680px; }
.kth-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 18px; text-align: left; }
.kth-daycard { overflow: hidden; }
.kth-daycard__head { background: linear-gradient(180deg, var(--kth-red-2), var(--kth-red)); color: #fff; text-align: center; padding: 10px; }
.kth-daycard__head strong { display: block; font-family: var(--kth-serif); font-size: 20px; }
.kth-daycard__head span { font-size: 13px; opacity: .9; }
.kth-daycard__body { position: relative; text-align: center; padding: 14px 18px 18px; }
.kth-daycard__num { font-family: var(--kth-serif); font-size: clamp(64px, 8vw, 88px); font-weight: 700; line-height: 1; color: var(--kth-ink); }
.kth-daycard__lunar { font-size: 17px; margin-top: 8px; }
.kth-daycard__lunar b { color: var(--kth-red); }
.kth-daycard__cc { font-size: 13px; color: var(--kth-muted); margin-top: 4px; }
.kth-daycard__meta { display: grid; grid-template-columns: repeat(3, 1fr); margin: 14px 0 12px; border-top: 1px solid var(--kth-line); border-bottom: 1px solid var(--kth-line); }
.kth-daycard__meta > div { padding: 8px 4px; }
.kth-daycard__meta > div + div { border-left: 1px solid var(--kth-line); }
.kth-daycard__meta dt { font-size: 12.5px; color: var(--kth-muted); font-weight: 400; margin: 0; }
.kth-daycard__meta dd { margin: 0; font-weight: 600; }
.kth-seal { position: absolute; top: 14px; right: 14px; width: 62px; height: 62px; display: grid; place-items: center; border-radius: 50%;
	background: radial-gradient(circle at 35% 30%, #e0a13c, #b7661f); color: #fff; font-size: 12px; font-weight: 700; line-height: 1.15;
	box-shadow: 0 0 0 3px #fff, 0 0 0 4px #e9c07a; transform: rotate(-8deg); }
.kth-seal.is-hac { background: radial-gradient(circle at 35% 30%, #8a8078, #5a524c); box-shadow: 0 0 0 3px #fff, 0 0 0 4px #bdb3aa; }
.kth-today { padding: 18px 20px; display: flex; flex-direction: column; }
.kth-today__title { font-size: 20px !important; color: var(--kth-ink) !important; margin-bottom: 8px !important; }
.kth-today__list { list-style: none; margin: 0 0 14px; padding: 0; display: grid; gap: 4px; }
.kth-today__list li { display: flex; gap: 12px; align-items: flex-start; padding: 8px 0; border-bottom: 1px dashed var(--kth-line); margin: 0; }
.kth-today__list .kth-ic { width: 30px; height: 30px; padding: 5px; border-radius: 50%; background: var(--kth-gold-soft); }
.kth-today__list .kth-ic.is-green { background: #e3f1e8; }
.kth-today__list .kth-ic.is-red { background: var(--kth-red-soft); }
.kth-today__list b { display: block; color: var(--kth-red); font-weight: 600; }
.kth-today__list span { font-size: 14px; color: var(--kth-muted); }
.kth-today__cta { display: flex; gap: 10px; flex-wrap: wrap; margin-top: auto; }

/* Danh sách mâm cúng (cột phải hero) */
.kth-services { list-style: none; margin: 0; padding: 12px; background: rgba(255, 253, 248, .92); border: 1px solid var(--kth-line); border-radius: var(--kth-radius); }
.kth-services li { margin: 0; }
.kth-services a { display: flex; align-items: center; gap: 10px; padding: 8px 6px; color: var(--kth-ink) !important; font-size: 13.5px; border-bottom: 1px solid var(--kth-line); }
.kth-services li:last-child a { border-bottom: 0; }
.kth-services .kth-ic { width: 26px; height: 26px; padding: 4px; border-radius: 50%; color: #fff; background: var(--kth-red); }
.kth-services a:hover { color: var(--kth-red) !important; }

/* ---------- Picker ---------- */
.kth-picker { padding: 18px 22px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2.6fr); gap: 20px; align-items: center; }
.kth-picker__intro h2 { font-size: 21px !important; }
.kth-picker__intro p { color: var(--kth-muted); font-size: 14px; }
.kth-picker__form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 12px; align-items: end; margin: 0; }
.kth-picker__form label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; font-weight: 600; margin: 0; }
.kth-picker__form select, .kth-picker__form input { height: 44px; margin: 0; border: 1px solid var(--kth-line); border-radius: 8px; background: #fff; padding: 0 12px; font: inherit; font-weight: 400; box-shadow: none; }
.kth-picker__result { grid-column: 1 / -1; border-top: 1px solid var(--kth-line); padding-top: 14px; }
.kth-picker__result h3 { margin-bottom: 8px !important; }
.kth-picks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.kth-picks li { margin: 0; }
.kth-picks a { display: block; padding: 10px 12px; border: 1px solid var(--kth-line); border-radius: 10px; color: var(--kth-ink) !important; background: #fff; }
.kth-picks a:hover { border-color: var(--kth-gold); }
.kth-picks b { color: var(--kth-red); font-family: var(--kth-serif); font-size: 17px; }
.kth-picks small { display: block; color: var(--kth-muted); }
.kth-picks .is-best { border-color: var(--kth-green); box-shadow: inset 3px 0 0 var(--kth-green); }
.kth-picker__shop { margin-top: 12px; display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }

/* ---------- Upcoming ---------- */
.kth-upcoming { padding: 14px; display: grid; grid-template-columns: 1.1fr repeat(3, 1fr) 1.6fr; gap: 12px; align-items: stretch; }
.kth-upcoming__intro { padding: 6px; }
.kth-upcoming__intro p { color: var(--kth-muted); font-size: 13.5px; margin-top: 4px; }
.kth-count { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border: 1px solid var(--kth-line); border-radius: 10px; background: #fff; color: var(--kth-ink) !important; position: relative; }
.kth-count:hover { border-color: var(--kth-gold); }
.kth-count__ic { position: absolute; top: 12px; left: 12px; width: 26px; height: 26px; color: var(--kth-gold-2); }
.kth-count__name { padding-left: 34px; font-weight: 600; color: var(--kth-red); font-size: 14px; }
.kth-count__name small { color: var(--kth-muted); font-weight: 400; }
.kth-count__num { font-family: var(--kth-serif); font-size: 15px; color: var(--kth-red); margin-top: 6px; }
.kth-count__num b { font-size: 30px; }
.kth-count__date { font-size: 13px; color: var(--kth-muted); }
.kth-promo { display: flex; gap: 12px; align-items: center; background: var(--kth-gold-soft); border-radius: 10px; padding: 10px; }
.kth-promo img { width: 110px; height: 100%; max-height: 120px; object-fit: cover; border-radius: 8px; }
.kth-promo b { display: block; font-family: var(--kth-serif); color: var(--kth-red); line-height: 1.3; }
.kth-promo span { display: block; font-size: 13px; color: var(--kth-muted); margin: 4px 0 8px; }

/* ---------- Calendar ---------- */
.kth-cal { padding: 16px; }
.kth-cal__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; gap: 8px; }
.kth-cal__nav { display: flex; gap: 6px; }
.kth-cal__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; transition: opacity .15s; }
.kth-cal__grid.is-loading { opacity: .4; }
.kth-cal__wd { text-align: center; font-size: 12.5px; font-weight: 600; color: var(--kth-muted); padding: 6px 0; border-bottom: 1px solid var(--kth-line); }
.kth-cal__wd:last-of-type { color: var(--kth-red); }
.kth-cal__cell { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 52px; border-radius: 10px; color: var(--kth-ink) !important; padding: 4px 2px 8px; }
.kth-cal__cell b { font-size: 16px; font-weight: 600; line-height: 1.1; }
.kth-cal__cell small { font-size: 11px; color: var(--kth-muted); }
.kth-cal__cell em { display: none; }
.kth-cal__cell::after { content: ""; position: absolute; bottom: 4px; width: 6px; height: 6px; border-radius: 50%; }
.kth-cal__cell.is-hd::after { background: var(--kth-green); }
.kth-cal__cell.is-hac::after { background: #c0503f; opacity: .55; }
.kth-cal__cell.is-ram { background: #eef0fb; }
.kth-cal__cell.is-ram small { color: var(--kth-blue); font-weight: 600; }
.kth-cal__cell.is-le { background: var(--kth-red-soft); box-shadow: inset 0 0 0 1px #f0b9ad; }
.kth-cal__cell.is-sun b { color: var(--kth-red-2); }
.kth-cal__cell:not(.is-empty):hover { background: var(--kth-gold-soft); }
.kth-cal__cell.is-today { background: var(--kth-red) !important; box-shadow: none; }
.kth-cal__cell.is-today b, .kth-cal__cell.is-today small { color: #fff !important; }
.kth-cal__cell.is-today::after { background: #fff; }
.kth-cal.show-birth .kth-cal__cell.is-hop { box-shadow: inset 0 0 0 2px var(--kth-green); }
.kth-cal.show-birth .kth-cal__cell.is-xung { opacity: .45; }
.kth-cal__foot { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.kth-legend { list-style: none; display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; font-size: 12.5px; color: var(--kth-muted); }
.kth-legend li { display: flex; align-items: center; gap: 5px; margin: 0; }
.kth-legend i { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.kth-legend .is-hd { background: var(--kth-green); } .kth-legend .is-hac { background: #c0503f; }
.kth-legend .is-ram { background: var(--kth-blue); } .kth-legend .is-le { background: var(--kth-red-2); }
.kth-switch { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; cursor: pointer; margin: 0; }
.kth-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.kth-switch span { width: 38px; height: 22px; border-radius: 99px; background: var(--kth-line); position: relative; transition: .15s; }
.kth-switch span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: .15s; }
.kth-switch input:checked + span { background: var(--kth-green); }
.kth-switch input:checked + span::after { left: 19px; }
.kth-switch input:focus-visible + span { outline: 3px solid var(--kth-gold); outline-offset: 2px; }

/* ---------- Tasks ---------- */
.kth-tasks { padding: 16px; }
.kth-tasks__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.kth-task { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 14px 10px; border: 1px solid var(--kth-line); border-radius: 12px; background: #fff; }
.kth-task__ic { width: 40px; height: 40px; color: var(--kth-red); }
.kth-task h3 { font-size: 17px !important; color: var(--kth-ink) !important; }
.kth-task p { font-size: 12.5px; color: var(--kth-muted); min-height: 2.6em; }
.kth-task .kth-btn { width: 100%; white-space: normal; text-align: center; line-height: 1.2; padding: 6px 8px; }

/* ---------- Tools ---------- */
.kth-tools__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.kth-tool { display: flex; gap: 10px; align-items: center; padding: 14px 12px; background: var(--kth-card); border: 1px solid var(--kth-line); border-radius: 12px; color: var(--kth-ink) !important; box-shadow: var(--kth-shadow); }
.kth-tool:hover { border-color: var(--kth-gold); transform: translateY(-2px); transition: .15s; }
.kth-tool__ic { width: 40px; height: 40px; padding: 8px; border-radius: 50%; background: var(--kth-gold-soft); color: var(--kth-red); }
.kth-tool b { display: block; font-size: 14.5px; }
.kth-tool small { display: block; font-size: 12.5px; color: var(--kth-muted); line-height: 1.35; }

/* ---------- Method / E-E-A-T ---------- */
.kth-method__grid { display: grid; grid-template-columns: repeat(3, 1fr) 1.4fr 1.3fr; gap: 12px; }
.kth-source, .kth-expert, .kth-notice { display: flex; gap: 10px; align-items: center; padding: 12px; border: 1px solid var(--kth-line); border-radius: 12px; background: var(--kth-card); color: var(--kth-ink) !important; }
.kth-source__ic { width: 38px; height: 38px; padding: 7px; background: var(--kth-gold-soft); color: var(--kth-gold-2); border-radius: 8px; }
.kth-source b, .kth-expert b { display: block; font-size: 14.5px; }
.kth-source small, .kth-expert small, .kth-expert em { display: block; font-size: 12.5px; color: var(--kth-muted); font-style: normal; }
.kth-expert img { width: 72px; height: 72px; border-radius: 10px; object-fit: cover; }
.kth-notice { border-color: #f0b9ad; background: #fff7f5; align-items: flex-start; font-size: 12.5px; color: var(--kth-muted) !important; }
.kth-notice .kth-ic { color: var(--kth-red-2); }
.kth-notice b { display: block; color: var(--kth-red); font-size: 13px; }

/* ---------- FAQ ---------- */
.kth-faq { padding: 16px; }
.kth-faq__title { font-size: 21px !important; margin-bottom: 8px !important; }
.kth-faq__item { border-bottom: 1px solid var(--kth-line); }
.kth-faq__item summary { cursor: pointer; list-style: none; padding: 12px 28px 12px 0; font-weight: 600; position: relative; }
.kth-faq__item summary::-webkit-details-marker { display: none; }
.kth-faq__item summary::after { content: ""; position: absolute; right: 6px; top: 50%; width: 8px; height: 8px; border-right: 2px solid var(--kth-muted); border-bottom: 2px solid var(--kth-muted); transform: translateY(-70%) rotate(45deg); transition: .15s; }
.kth-faq__item[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.kth-faq__item > div { padding: 0 0 12px; color: var(--kth-muted); font-size: 14px; }

/* ---------- Zalo bar ---------- */
.kth-zalobar { display: grid; grid-template-columns: 1.4fr 2fr auto; gap: 20px; align-items: center; padding: 18px 0; color: #fff; }
.kth-zalobar h2 { color: #fff !important; font-size: 22px !important; }
.kth-zalobar p { opacity: .85; font-size: 13.5px; }
.kth-zalobar__feat { list-style: none; display: flex; gap: 22px; margin: 0; padding: 0; font-size: 13.5px; }
.kth-zalobar__feat li { display: flex; align-items: center; gap: 8px; margin: 0; }
.kth-zalobar__feat .kth-ic { width: 30px; height: 30px; color: var(--kth-gold-soft); }
.kth-zalobar .kth-btn--zalo { min-height: 52px; padding: 0 24px; font-size: 16px; box-shadow: 0 0 0 3px rgba(255, 255, 255, .5); }

/* ---------- Day detail ---------- */
.kth-daypage { background: var(--kth-paper); padding: 24px 0 40px; }
.kth-daypage__wrap { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 20px; }
.kth-detail { padding: 22px; }
.kth-detail h1 { font-size: clamp(24px, 3vw, 32px); margin: 6px 0 12px; }
.kth-crumb { font-size: 13px; color: var(--kth-muted); }
.kth-crumb a { color: var(--kth-red) !important; }
.kth-answer { background: var(--kth-gold-soft); border-left: 4px solid var(--kth-gold); padding: 12px 14px !important; border-radius: 8px; margin-bottom: 16px !important; }
.kth-table { width: 100%; border-collapse: collapse; margin: 0; }
.kth-table th, .kth-table td { padding: 10px 12px; border-bottom: 1px solid var(--kth-line); text-align: left; vertical-align: top; font-size: 14.5px; }
.kth-table th { width: 32%; color: var(--kth-muted); font-weight: 600; background: #fffaf0; }
.kth-ctabox { margin-top: 18px; padding: 14px; border-radius: 10px; background: var(--kth-red-soft); display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.kth-ctabox b { color: var(--kth-red); }
.kth-daynav { display: flex; justify-content: space-between; margin-top: 18px; }
.kth-daynav a { display: inline-flex; align-items: center; gap: 4px; color: var(--kth-red) !important; font-weight: 600; }

/* ---------- Mobile bottom bar ---------- */
.kth-mbar { display: none; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.kth-upcoming { grid-template-columns: repeat(3, 1fr); }
	.kth-upcoming__intro, .kth-promo { grid-column: 1 / -1; }
	.kth-tools__grid { grid-template-columns: repeat(3, 1fr); }
	.kth-method__grid { grid-template-columns: repeat(3, 1fr); }
	.kth-expert, .kth-notice { grid-column: span 3; }
	.kth-zalobar { grid-template-columns: 1fr; text-align: center; }
	.kth-zalobar__feat { justify-content: center; flex-wrap: wrap; }
	.kth-zalobar .kth-btn { justify-self: center; }
}
@media (max-width: 849px) { /* breakpoint tablet của Flatsome */
	.kth-hero__grid, .kth-picker, .kth-daypage__wrap { grid-template-columns: 1fr; }
	.kth-picker__form { grid-template-columns: 1fr 1fr; }
	.kth-picker__form label:first-child, .kth-picker__form button { grid-column: 1 / -1; }
	.kth-tasks__grid { grid-template-columns: repeat(2, 1fr); }
	.kth-hctas .kth-btn--primary { font-size: 0; gap: 0; padding: 0 10px; } /* còn icon điện thoại */
	.kth-hctas .kth-btn--primary .kth-ic { width: 20px; height: 20px; }
}
@media (max-width: 549px) {
	.kth-upcoming { grid-template-columns: 1fr; }
	.kth-upcoming .kth-count { flex-direction: row; flex-wrap: wrap; align-items: baseline; column-gap: 10px; }
	.kth-upcoming .kth-count__name { flex-basis: 100%; }
	.kth-count__num b { font-size: 24px; }
	.kth-tools__grid, .kth-method__grid { grid-template-columns: 1fr; }
	.kth-expert, .kth-notice { grid-column: auto; }
	.kth-cal { padding: 10px; }
	.kth-cal__cell { min-height: 46px; }
	.kth-cal__cell b { font-size: 15px; }
	.kth-picker { padding: 16px; }
	.kth-today__cta .kth-btn { flex: 1 1 100%; }
	.kth-daycard__meta { grid-template-columns: repeat(3, minmax(0, 1fr)); font-size: 13px; }
	.kth-zalobar__feat { flex-direction: column; align-items: flex-start; gap: 8px; }
	.kth-mbar { display: grid; grid-template-columns: repeat(4, 1fr); position: fixed; left: 0; right: 0; bottom: 0; z-index: 999;
		background: #fff; border-top: 1px solid var(--kth-line); box-shadow: 0 -4px 16px rgba(0, 0, 0, .06); padding-bottom: env(safe-area-inset-bottom); }
	.kth-mbar a { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 0; font-size: 11.5px; font-weight: 600; color: var(--kth-muted) !important; min-height: 56px; }
	.kth-mbar a .kth-ic { width: 22px; height: 22px; }
	.kth-mbar a.is-cta { background: var(--kth-red); color: #fff !important; }
	body:has(.kth-mbar) { padding-bottom: 60px; }
}
@media (prefers-reduced-motion: reduce) { .kth * { transition: none !important; } }

/* ==========================================================
   KTH Bổ Sung: Hoà nền ảnh, texture giấy mây, dải Zalo, Banner ngày
   ========================================================== */
/* Ảnh nền trắng -> hoà vào nền kem (không cần sửa ảnh) & Lật ngang cành mai sát mép trái */
.kth-hero-deco img {
	mix-blend-mode: multiply;
	transform: scaleX(-1);
}

@media (max-width: 549px) {
	.section:first-of-type .section-bg {
		background-image: url(/wp-content/uploads/2026/09/hero-mobile.webp) !important;
		background-color: #FBF6EC;
		background-blend-mode: multiply;
	}
}

/* Texture giấy mây cho thanh chọn ngày + Sắp tới */
.kth-picker, .kth-upcoming {
	background: #fffdf8 url(/wp-content/uploads/2026/09/Hero-anh-trang-tri-cot-trai.webp) 0 0/512px repeat;
}

/* Dải đầu trang chi tiết ngày */
.kth-daypage {
	background: #FBF6EC url(/wp-content/uploads/2026/09/ng-chi-tiet-ngay-scaled.webp) center top/100% auto no-repeat;
	padding-top: 120px;
}

/* Dải Zalo: bố cục thanh thoát, không ngắt chữ */

.kth-zalobar__txt {
	flex: 1 1 320px !important;
	min-width: 280px !important;
}
.kth-zalobar h2 {
	color: #fff !important;
	font-size: 22px !important;
	line-height: 1.35 !important;
	margin-bottom: 4px !important;
	white-space: normal !important;
}
.kth-zalobar p {
	opacity: 0.9 !important;
	font-size: 14px !important;
	margin: 0 !important;
}
.kth-zalobar__feat {
	list-style: none !important;
	display: flex !important;
	gap: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 14px !important;
	flex: 0 1 auto !important;
}
.kth-zalobar__feat li {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	margin: 0 !important;
	white-space: nowrap !important;
}
.kth-zalobar .kth-btn--zalo {
	flex: 0 0 auto !important;
	min-height: 48px !important;
	padding: 0 24px !important;
	font-size: 15px !important;
	border-radius: 8px !important;
	box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5) !important;
	white-space: nowrap !important;
}
@media (max-width: 992px) {
	.kth-zalobar {
		flex-direction: column !important;
		text-align: center !important;
		gap: 16px !important;
	}
	.kth-zalobar__feat {
		justify-content: center !important;
		flex-wrap: wrap !important;
	}
	.kth-zalobar .kth-btn--zalo {
		align-self: center !important;
	}
}


/* ==========================================================================
   KTH LUXURY ORIENTAL THEMING & AUDIT ENHANCEMENTS
   ========================================================================== */

/* 1. Header Menu: rõ nét chữ sẫm, active đỏ son */
#header .nav > li > a,
.header-nav-main > li > a,
.header-nav > li > a {
    color: #4a3426 !important;
    font-weight: 600 !important;
}
#header .nav > li.active > a,
#header .nav > li.current-menu-item > a,
#header .nav > li > a:hover,
.header-nav-main > li.active > a,
.header-nav-main > li.current-menu-item > a,
.header-nav-main > li > a:hover {
    color: #8b1e1e !important;
}

/* 2. Thẻ viền vàng kim kép */
.kth-daycard, .kth-today, .kth-picker, .kth-upcoming, .kth-cal, .kth-tasks, .kth-faq, .kth-detail {
    border-color: #e2cf9f !important;
    box-shadow: 0 10px 30px rgba(107,60,20,.10), inset 0 0 0 4px #fffdf8, inset 0 0 0 5px rgba(201,162,75,.35) !important;
}

/* 3. Gạch hoa văn vàng dưới tiêu đề */
.kth-sechead h2::after, .kth-faq__title::after {
    content: "";
    display: block;
    width: 64px;
    height: 2px;
    margin-top: 8px;
    background: linear-gradient(90deg, #c9a24b, transparent);
}

/* 4. Nút ánh kim */
.kth-btn--primary {
    background: linear-gradient(180deg, #a8322a, #7a1a1a) !important;
    box-shadow: 0 4px 12px rgba(139,30,30,.25), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.kth-btn--gold {
    background: linear-gradient(180deg, #fbf0cf, #efd999) !important;
}
.kth-daycard__num {
    color: #8b1e1e !important;
    text-shadow: 0 2px 0 rgba(201,162,75,.25) !important;
}

/* 5. H1 gọn 1 dòng */
.kth-hero__title {
    font-size: clamp(26px, 3vw, 36px) !important;
}

/* 6. Bài viết: ẩn author trống */
.entry-meta .byline {
    display: none !important;
}

/* 7. Nâng nút Trợ lý AI trên di động */
@media (max-width: 849px) {
    #kthBrainTrigger, .m3-kth-brain-trigger, #daAssistantBadge, .kth-ai-float {
        bottom: 80px !important;
        right: 14px !important;
    }
}
