/* ===== Xito Lịch Phụng Vụ — CSS (bố cục theo gkpvxito.net) ===== */

.xito-namespace, .xito-namespace * { box-sizing: border-box; }

/* ---------- Màu phụng vụ ---------- */
.text-tr { color: #d97706 !important; } .bg-tr { background-color: #fbbf24 !important; }
.text-d  { color: #dc2626 !important; } .bg-d  { background-color: #ef4444 !important; }
.text-tm { color: #7c3aed !important; } .bg-tm { background-color: #8b5cf6 !important; }
.text-x  { color: #15803d !important; } .bg-x  { background-color: #22c55e !important; }
.text-hong { color: #db2777 !important; } .bg-hong { background-color: #ec4899 !important; }
.text-den { color: #111827 !important; } .bg-den { background-color: #111827 !important; }

/* ===== WIDGET SIDEBAR ===== */
.xito-widget {
  width: 100%; background: #fff; border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0,0,0,.08); border: 1px solid #e5e7eb;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  margin-bottom: 20px; position: relative; overflow: visible;
}
/* Reset trong scope widget — chống theme (Flatsome .widget ul/li/p) đè */
.xito-widget ul, .xito-widget ol { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.xito-widget li { list-style: none; margin: 0; }
.xito-widget p { margin: 0 0 .4em; }
.xito-widget a { color: inherit; text-decoration: none; }
.xito-header {
  background-color: #7cb342; color: #fff; padding: 12px; text-align: center;
  font-weight: 700; text-transform: uppercase; font-size: 15px;
  display: flex; align-items: center; justify-content: center; gap: 10px;
  position: relative; z-index: 40;
}
.xito-icon-wrapper { position: relative; cursor: pointer; display: flex; align-items: center; padding: 4px; border-radius: 4px; }
.xito-icon-wrapper:hover { background-color: rgba(255,255,255,.2); }

.xito-month-picker {
  display: none; position: absolute; top: 100%; left: 0; width: min(300px, calc(100vw - 24px)); max-width: 100%;
  background: #fff; border-radius: 8px; box-shadow: 0 10px 30px rgba(0,0,0,.25);
  border: 1px solid #e5e7eb; padding: 15px; z-index: 100; color: #333;
  text-transform: none; margin: 8px 0 0; cursor: default; text-align: left;
}
.xito-month-picker::before { content: ""; position: absolute; bottom: 100%; left: 20px; border: 8px solid transparent; border-bottom-color: #fff; }
.xito-icon-wrapper:hover .xito-month-picker, .xito-month-picker.is-open { display: block; }

.mp-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; font-weight: 700; color: #7cb342; font-size: 14px; }
.mp-btn, .xito-nav-btn { background: none; border: none; cursor: pointer; color: #6b7280; padding: 4px; display: flex; align-items: center; justify-content: center; border-radius: 4px; }
.mp-btn:hover { background-color: #f3f4f6; color: #7cb342; }

.mp-labels { display: grid; grid-template-columns: repeat(7,1fr); gap: 4px; text-align: center; margin-bottom: 4px; border-bottom: 1px solid #eee; padding-bottom: 4px; }
.mp-grid { display: grid; grid-template-columns: repeat(7,1fr); gap: 4px; text-align: center; }
.mp-day-header { font-size: 12px; font-weight: 700; color: #9ca3af; }
.mp-day-header.sunday { color: #dc2626; }

.xito-nav-bar { display: flex; justify-content: space-between; align-items: center; padding: 10px; background-color: #f9fafb; border-bottom: 1px solid #e5e7eb; }
.xito-nav-btn:hover { background-color: #e5e7eb; color: #111827; }
.xito-date-display { text-align: center; display: flex; flex-direction: column; align-items: center; }
.xito-day-name { font-size: 13px; font-weight: 700; text-transform: uppercase; margin-bottom: 2px; }
.xito-full-date { font-size: 20px; font-weight: 800; line-height: 1.2; }
.xito-btn-today { font-size: 11px; font-weight: 600; color: #fff; background-color: #7cb342; padding: 2px 10px; border-radius: 12px; border: none; cursor: pointer; margin-top: 4px; opacity: 0; pointer-events: none; transition: opacity .3s; }
.xito-btn-today.visible { opacity: 1; pointer-events: auto; }
.xito-btn-today:hover { background-color: #689f38; }

.xito-content { padding: 15px; min-height: 200px; display: flex; flex-direction: column; gap: 10px; position: relative; z-index: 10; }
.xito-liturgy-strip { position: absolute; top: 15px; bottom: 15px; left: 0; width: 6px; border-radius: 0 4px 4px 0; }
.xito-liturgy-text { font-size: 15px; font-weight: 700; color: #1f2937; line-height: 1.5; padding-left: 12px; }
.xito-readings { font-size: 13px; color: #555; font-style: italic; padding-left: 12px; margin-top: -4px; padding-bottom: 10px; border-bottom: 1px dashed #eee; }
.xito-readings strong { color: #b45309; font-weight: 700; margin-right: 4px; font-style: normal; }
.xito-note { font-size: 12px; color: #777; font-style: italic; padding-left: 12px; }
.xito-detail-saints { font-size: 13px; color: #444; padding-left: 12px; }
.xito-detail-lunar { font-size: 12px; color: #888; padding-left: 12px; }

.xito-event-box { background-color: #fffbeb; border: 1px solid #fcd34d; border-radius: 6px; padding: 10px; margin-top: auto; position: relative; }
.xito-event-header { display: flex; align-items: center; gap: 5px; color: #b45309; font-weight: 700; font-size: 12px; margin-bottom: 8px; text-transform: uppercase; border-bottom: 1px solid #fcd34d; padding-bottom: 4px; }
.xito-event-scroll-area { max-height: 200px; overflow-y: auto; overflow-x: hidden; position: relative; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.xito-fade-overlay { display: none; }
.xito-expand-indicator { text-align: center; color: #b45309; font-size: 10px; margin-top: 5px; cursor: pointer; display: none; }
.xito-expand-indicator i { display: block; height: 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b45309' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") center/contain no-repeat; }
/* Cuộn trong khung sự kiện — KHÔNG hover-expand */
.xito-event-scroll-area::-webkit-scrollbar { width: 6px; }
.xito-event-scroll-area::-webkit-scrollbar-thumb { background: #fcd34d; border-radius: 3px; }
.xito-event-scroll-area::-webkit-scrollbar-track { background: transparent; }
.xito-event-box:hover .xito-expand-indicator { display: none !important; }

.xito-event-list { list-style: none; margin: 0; padding: 0; }
.xito-event-item { font-size: 13px; color: #92400e; margin-bottom: 8px; line-height: 1.5; }
.xito-event-item strong { font-weight: 700; color: #b45309; }
.xito-event-box .sub-item { display: block; padding-left: 12px; margin-top: 2px; position: relative; }
.xito-event-box .sub-item::before { content: "-"; position: absolute; left: 0; color: #b45309; }
.xito-event-box .death-item { display: block; padding-left: 4px; margin-top: 2px; color: #78350f; }
.xito-event-box .cross-icon { color: #7c3aed; font-weight: bold; margin-right: 4px; font-size: 15px; }

.xito-no-data { padding: 15px; color: #9ca3af; text-align: center; font-size: 12px; }

/* ===== LỊCH TRANG FULL ===== */
.xito-app-wrap { background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; padding: 15px; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
.xito-search { position: relative; margin-bottom: 12px; }
.xito-search__icon { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: #9ca3af; }
.xito-search__input { width: 100%; padding: 9px 12px 9px 36px; border: 1px solid #e5e7eb; border-radius: 6px; font-size: 14px; }
.xito-search-results { position: absolute; z-index: 90; left: 0; right: 0; background: #fff; border: 1px solid #e5e7eb; border-radius: 6px; max-height: 240px; overflow: auto; box-shadow: 0 8px 20px rgba(0,0,0,.12); }
.xito-search-item { padding: 8px 12px; cursor: pointer; font-size: 13px; border-bottom: 1px solid #f3f4f6; }
.xito-search-item:hover { background: #f0fdf4; }
.xito-search-item .sr-dim { color: #9ca3af; font-size: 11px; }

.xito-cal-nav { display: flex; align-items: center; justify-content: space-between; margin: 8px 0 12px; }
.xito-cal-title { font-weight: 700; color: #1f2937; font-size: 16px; }

.xito-grid { user-select: none; }
.xito-grid-head { display: grid; grid-template-columns: repeat(7,1fr); gap: 4px; text-align: center; margin-bottom: 6px; }
.xito-g-day { font-size: 12px; font-weight: 700; color: #9ca3af; }
.xito-g-day.sunday { color: #dc2626; }
.xito-grid-body { display: grid; grid-template-columns: repeat(7,1fr); gap: 4px; }

.xito-day { border: 1px solid #f3f4f6; border-radius: 6px; padding: 6px 4px; cursor: pointer; min-height: 48px; text-align: left; transition: all .15s; position: relative; }
.xito-day:hover { background-color: #f0fdf4; border-color: #86efac; }
.xito-day.empty { cursor: default; border: none; background: transparent; min-height: 0; pointer-events: none; }
.xito-day.sunday .xito-cell-num { color: #dc2626; font-weight: 700; }
.xito-day.today { border: 1px solid #7cb342; }
.xito-day.selected { background-color: #7cb342 !important; border-color: #7cb342; }
.xito-day.selected .xito-cell-num, .xito-day.selected .xito-cell-name { color: #fff !important; }
.xito-cell-num { display: block; font-size: 13px; font-weight: 500; color: #333; }
.xito-cell-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; vertical-align: middle; margin-right: 3px; }
.xito-cell-name { display: block; font-size: 10px; color: #6b7280; line-height: 1.15; margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.xito-day-detail { margin-top: 14px; border-top: 1px dashed #e5e7eb; padding-top: 14px; display: flex; flex-direction: column; gap: 8px; }

@media (max-width: 480px) { .xito-month-picker { width: 260px; } }

/* ===== LỊCH TRANG FULL — layout nâng cấp theo gkpvxito.net ===== */
.xito-app.xito-van-nien-page { overflow: visible; background: transparent; max-width: none; }
.xito-app.xito-van-nien-page .xito-hours { margin-bottom: 6px; }
.xito-app.xito-van-nien-page .xito-calendar-app { margin-top: 4px; }
.xito-calendar-wrapper { --xb:#FAFAF8; --xs:#fff; --xb2:#F4F1EC; --xe:#E8E4DE; --xe2:#D4CFC8; --xt:#1A1614; --xtm:#6B6460; --xtf:#A09690; --xa:#2D5016; --xah:#3D6B20; --xal:#EDF4E8;
  --cl-green:#4A7C3F; --cl-red:#B5251B; --cl-white:#C8B89A; --cl-purple:#5C3670; --cl-rose:#A03060; --cl-black:#2A2620;
  --season-advent:#5C3670; --season-christmas:#C8A830; --season-lent:#5C3670; --season-triduum:#2A2620; --season-easter:#C8A830; --season-ordinary:#8f1c16;
  --today-bg:#EDF4E8; --today-border:#4A7C3F;
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --r-pill:999px; --r-md:10px;
  background: var(--xs); border: 1px solid var(--xe); border-radius: var(--r-md); padding: clamp(12px, 3vw, 26px);
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; color: var(--xt); }

.xito-calendar-wrapper .xito-search { position: relative; margin-bottom: 12px; }
.xito-calendar-wrapper .xito-search__icon { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: var(--xtf); display:flex; }
.xito-calendar-wrapper .xito-search__input { width: 100%; padding: 10px 38px 10px 36px; border: 1px solid var(--xe); border-radius: var(--r-md); font-size: 14px; background: var(--xb); color: var(--xt); }
.xito-calendar-wrapper .xito-search__clear { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); border: none; background: none; color: var(--xtf); font-size: 18px; cursor: pointer; }

.xito-tabs-wrap { width: 100%; display: flex; justify-content: center; margin: 4px 0 var(--s4); }
.xito-calendar-wrapper .xito-tabs { display: inline-flex; gap: var(--s2); background: var(--xb2); padding: 5px; border-radius: var(--r-pill); max-width: 100%; overflow-x: auto; }
.xito-tab-btn { border: none; background: transparent; color: var(--xtm); font-weight: 700; font-size: 13px; padding: 8px 18px; border-radius: var(--r-pill); cursor: pointer; white-space: nowrap; }
.xito-tab-btn:hover { color: var(--xt); }
.xito-tab-btn.is-active { background: var(--xa); color: #fff; }

.xito-calendar-wrapper .xito-navwrap { margin-bottom: 14px; }
.xito-nav__row { display: flex; align-items: center; gap: var(--s3); flex-wrap: wrap; }
.xito-nav__row--top { justify-content: space-between; }
.xito-nav__row--bottom { justify-content: space-between; }

.xito-lityear { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; padding: 7px 20px; border-radius: var(--r-md); color: #fff; background: var(--season-ordinary); box-shadow: 0 2px 8px rgba(0,0,0,.14); min-width: 116px; }
.xito-lityear__cap { font-size: .625rem; font-weight: 700; letter-spacing: .12em; opacity: .9; margin-bottom: 2px; }
.xito-lityear__val { font-size: 1.5rem; font-weight: 900; letter-spacing: .04em; line-height: 1.1; }
.xito-lityear.xito-season-advent, .xito-lityear.xito-season-lent { background: var(--season-advent); }
.xito-lityear.xito-season-christmas, .xito-lityear.xito-season-easter { background: var(--season-christmas); color: #3D2800; }
.xito-lityear.xito-season-triduum { background: var(--season-triduum); }

.xito-calendar-wrapper .xito-button { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--xe); background: var(--xb); color: var(--xt); border-radius: var(--r-md); padding: 8px 14px; font-size: 13px; font-weight: 600; cursor: pointer; }
.xito-button--today { background: var(--xa); border-color: var(--xa); color: #fff; }
.xito-button--today:hover { background: var(--xah); }
.xito-monthlink { display: inline-flex; align-items: center; gap: 4px; border: none; background: none; color: var(--xtm); font-weight: 600; font-size: 13px; cursor: pointer; padding: 6px 8px; border-radius: var(--s2); }
.xito-monthlink:hover { color: var(--xa); background: var(--xal); }
.xito-select { border: 1px solid var(--xe); border-radius: var(--r-md); padding: 8px; font-size: 14px; background: var(--xb); color: var(--xt); }
.xito-date-picker-input { border: 1px solid var(--xe); border-radius: var(--r-md); padding: 7px; font-size: 13px; background: var(--xb); color: var(--xt); }

.xito-cal-title { font-weight: 700; color: var(--xt); font-size: 17px; margin: 6px 0 10px; text-align: center; }

.xito-calendar-wrapper .xito-panel { animation: xitoFade .25s ease; }
.xito-calendar-wrapper .xito-panel.is-active[hidden] { display: none; }
@keyframes xitoFade { from { opacity: 0; } to { opacity: 1; } }
.xito-panel-heading { color: var(--xa); font-size: 16px; border-bottom: 1px solid var(--xe); padding-bottom: 8px; margin: 0 0 12px; }
.xito-panel-list { list-style: none; margin: 0; padding: 0; }
.xito-panel-item { display: flex; gap: 12px; padding: 10px 0; border-bottom: 1px dashed var(--xe); font-size: 13px; line-height: 1.5; }
.xito-panel-item .xito-panel-date { flex: 0 0 84px; font-weight: 700; color: var(--xtm); }
.xito-panel-item .xito-panel-events { color: var(--xt); }
.xito-panel-item .sub-item { display: block; padding-left: 12px; margin-top: 2px; position: relative; }
.xito-panel-item .sub-item::before { content: "-"; position: absolute; left: 0; color: #b45309; }
.xito-panel-item .death-item { display: block; margin-top: 2px; color: #78350f; }
.xito-panel-item .cross-icon { color: #7c3aed; font-weight: bold; margin-right: 4px; font-size: 15px; }
.xito-panel--rule { font-size: 14px; line-height: 1.7; }
.xito-empty-state { text-align: center; color: var(--xtf); font-size: 13px; font-style: italic; padding: 18px; }

@media (max-width: 560px) {
  .xito-nav__row { gap: 8px; }
  .xito-nav__row--bottom { flex-wrap: wrap; }
  .xito-lityear { min-width: 96px; padding: 6px 12px; }
}

/* ===== Khối nhúng — KHÔNG phủ lên theme Flatsome ===== */
/* Neutral hóa rule app-level từ CSS port (z-index 9990 / fixed header / min-height 100vh). */
.xito-app { position: static !important; z-index: auto !important; min-height: 0 !important; }
.xito-app .xito-header,
.xito-app.xito-van-nien-page .xito-header {
  position: static !important; top: auto !important; left: auto !important; right: auto !important;
  width: auto !important; height: auto !important; z-index: auto !important; isolation: auto !important;
}
body.admin-bar .xito-app .xito-header,
body.admin-bar .xito-app.xito-van-nien-page .xito-header { top: auto !important; }
/* Hoàn tác rule ẩn header/footer theme khi "fullscreen" (plugin không dùng). */
body.is-xito-fullscreen #header, body.is-xito-fullscreen header,
body.is-xito-fullscreen .header-wrapper, body.is-xito-fullscreen #masthead,
body.is-xito-fullscreen #top-bar, body.is-xito-fullscreen #footer,
body.is-xito-fullscreen .footer-wrapper, body.is-xito-fullscreen #wpadminbar { display: revert !important; }

/* ===== Prayer menu ===== */
.xito-app { --xito-body-font-size: 16px; }
.xito-app .x-body { font-size: var(--xito-body-font-size) !important; }
.xito-app.xito-van-nien-page { overflow: visible; background: transparent; max-width: none; }

.xito-app .prayer-menu-container { display: flex; justify-content: center; padding: 10px 0 2px; }
.xito-app .prayer-menu-actions { display: flex; align-items: center; gap: 10px; position: relative; }
.xito-app .today-button { background: #7a110d !important; color: #fff !important; border: 0; border-radius: 20px; padding: 8px 18px; font-weight: 800; font-size: 13px; cursor: pointer; }
.xito-app .today-button:hover { background: #a3221b !important; }
.xito-app .prayer-menu-dropdown { position: relative; }
.xito-app .prayer-menu-button { background: #fff !important; color: #1a1614 !important; border: 1px solid #e8e4de; border-radius: 20px; padding: 8px 16px; font-weight: 700; font-size: 13px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.xito-app .prayer-menu-button .arrow { font-size: 10px; color: #6b6460 !important; }
.xito-app .prayer-menu-list { position: absolute; top: calc(100% + 6px); left: 50%; transform: translateX(-50%); background: #fff; border: 1px solid #e8e4de; border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,.25); padding: 6px; width: 220px; z-index: 950; display: none; }
.xito-app .prayer-menu-list:not([hidden]) { display: block; }
.xito-app .prayer-menu-list[hidden] { display: none !important; }
.xito-app .prayer-menu-list-item { display: block; width: 100%; text-align: left; border: 0; background: transparent; padding: 8px 12px; border-radius: 6px; font-size: 13px; font-weight: 700; color: #1a1614 !important; cursor: pointer; }
.xito-app .prayer-menu-list-item:hover { background: #f4f1ec !important; color: #7a110d !important; }

/* ===== Layout reference: main-layout (cal-pane | day-pane) ===== */
.xito-main-layout { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 22px; align-items: start; }
.xito-cal-pane { min-width: 0; }
.xito-day-pane { min-width: 0; display: flex; flex-direction: column; gap: 12px; }
@media (max-width: 980px) { .xito-main-layout { grid-template-columns: 1fr; } }

/* Header tháng v2 (đỏ #b22222) */
.xito-v2-header-container { position: relative; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 15px; border-radius: 8px 8px 0 0; background: #b22222; color: #fff; }
.xito-v2-nav-btn { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border: 0; border-radius: 50%; background: rgba(255,255,255,.2); color: #fff; font-size: 20px; line-height: 1; cursor: pointer; }
.xito-v2-nav-btn:hover { background: rgba(255,255,255,.35); }
.xito-v2-title-area { display: flex; flex: 1 1 auto; align-items: center; justify-content: center; min-width: 0; position: relative; }
.xito-v2-title-wrapper { display: inline-flex; align-items: center; justify-content: center; position: relative; padding: 6px 10px; }
.xito-v2-title { border: 0; background: transparent; color: #fff; font-weight: 800; font-size: 17px; letter-spacing: .01em; cursor: pointer; }
.xito-v2-title::after { content: "▾"; margin-left: 6px; font-size: 12px; opacity: .8; }
.xito-v2-month-menu { position: absolute; top: calc(100% + 6px); left: 50%; transform: translateX(-50%); background: #fff; color: #1a1614; border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,.3); padding: 8px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; width: 240px; z-index: 60; }
.xito-v2-month-option { border: 0; background: #f4f1ec; border-radius: 6px; font-size: 12px; font-weight: 700; padding: 8px 6px; cursor: pointer; color: #1a1614; }
.xito-v2-month-option:hover { background: #e8e4de; }
.xito-v2-month-option.is-current { background: #b22222; color: #fff; }

.xito-calendar--v2-grid .xito-calendar__grid { padding: 0 2px 2px; }

/* Cell festival */
.xito-calendar__festival { font-size: 9px; color: #a03060; font-weight: 700; line-height: 1.2; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Day-pane head */
.xito-day-pane .xito-panel__head { border-bottom: 2px solid #e8e4de; padding-bottom: 8px; }
.xito-day-pane .xito-title--sub { margin: 0; font-size: 17px; font-weight: 800; color: #1a1614; }
.xito-day-pane .xito-lunar-display { margin: 2px 0 0; font-size: 12px; color: #6b6460; }
.xito-panel__cols { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.xito-panel__col-main { min-width: 0; }
.xito-panel__col-side { min-width: 0; display: flex; flex-direction: column; gap: 10px; }
@media (max-width: 720px) { .xito-panel__cols { grid-template-columns: 1fr; } }

/* Feast card */
.xito-card--liturgy { background: #fafaf8; border: 1px solid #e8e4de; border-left: 6px solid #4a7c3f; border-radius: 10px; padding: 14px; }
.xito-card--liturgy.xito-card--tm { border-left-color: #5c3670; }
.xito-card--liturgy.xito-card--tr { border-left-color: #c8b89a; }
.xito-card--liturgy.xito-card--d { border-left-color: #b5251b; }
.xito-card--liturgy.xito-card--hong { border-left-color: #a03060; }
.xito-card--liturgy.xito-card--den { border-left-color: #2a2620; }
.xito-card__feast { margin: 0 0 4px; font-size: 16px; font-weight: 800; color: #1a1614; line-height: 1.3; }
.xito-card__rank { display: inline-block; font-size: 11px; font-weight: 700; color: #7a110d; background: #f4e3e2; border-radius: 20px; padding: 2px 10px; margin-bottom: 8px; }
.xito-sub-saints { font-size: 12.5px; color: #4a3f38; margin-bottom: 8px; }
.xito-meta-row { display: flex; align-items: center; gap: 8px; margin: 6px 0; }
.xito-color-gem { position: relative; }
.xito-meta-text { font-size: 12px; font-weight: 700; color: #2d5016; }
.xito-card--liturgy .xito-scripture-note { font-size: 12px; color: #6b6460; font-style: italic; margin: 8px 0 0; }

/* Tabs panel */
.xito-tab-panel { animation: xitoFade .22s ease; }
.xito-tab-panel[hidden] { display: none; }
.xito-tab-panel .xito-cal-title { display: none; }
.xito-info-card--deceased { border-left: 4px solid #6b3fa0; }
.xito-info-card--deceased header h3 { color: #6b3fa0; }
.xito-info-card--deceased .xito-card-body li { color: #4a3826; }
.xito-kn-text { color: #6b6460; }

/* Cột cũ thay thế — để lại cho widget */
.xito-calendar__body { display: none; }

.xito-calendar__grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; user-select: none; }
.xito-calendar__weekhead { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; text-align: center; margin-bottom: 4px; }
.xito-calendar__weekhead-cell { font-size: 11px; font-weight: 800; color: #6b6460; }
.xito-calendar__cell { border: 1px solid transparent; border-radius: 8px; padding: 5px 4px; min-height: 52px; cursor: pointer; position: relative; transition: all .15s; }
.xito-calendar__cell:hover { background: #edf4e8; border-color: #cfe4c2; }
.xito-calendar__cell.is-outside { opacity: .38; cursor: default; pointer-events: none; background: transparent; }
.xito-calendar__cell.is-today { border: 1px solid #4a7c3f; }
.xito-calendar__cell.is-selected, .xito-calendar__cell.is-selected:hover { background: #2d5016; }
.xito-calendar__cell.is-selected .xito-calendar__solar, .xito-calendar__cell.is-selected .xito-calendar__name { color: #fff; }
.xito-calendar__cell.is-selected .xito-calendar__lunar { color: rgba(255,255,255,.75); }
.xito-calendar__cell-top { display: flex; align-items: baseline; justify-content: space-between; gap: 4px; }
.xito-calendar__solar { font-size: 13px; font-weight: 700; color: #1a1614; }
.xito-calendar__lunar { font-size: 10px; color: #a09690; }
.xito-calendar__name { font-size: 9.5px; color: #6b6460; line-height: 1.15; margin: 2px 0 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xito-calendar__dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-top: 4px; background: #4a7c3f; }
.xito-day-WHITE .xito-calendar__dot { background: #c8b89a; }
.xito-day-RED .xito-calendar__dot { background: #b5251b; }
.xito-day-VIOLET .xito-calendar__dot { background: #5c3670; }
.xito-day-ROSE .xito-calendar__dot { background: #a03060; }
.xito-day-BLACK .xito-calendar__dot { background: #2a2620; }
.xito-day-GREEN .xito-calendar__dot { background: #4a7c3f; }
.xito-calendar__member-flag { display: inline-block; width: 8px; height: 8px; margin-left: 4px; vertical-align: middle; background: #7a110d; clip-path: polygon(0 0, 100% 0, 50% 100%); }

/* ===== Panel chi tiết + cards thông tin ===== */
.xito-panel-detail { display: flex; flex-direction: column; gap: 10px; }
.xito-panel-detail .xito-meta { background: #edf4e8; border: 1px solid #d6e6cb; border-radius: 8px; padding: 8px 12px; }
.xito-panel-detail .xito-meta-text { font-size: 12px; font-weight: 700; color: #2d5016; }
.xito-panel-detail .xito-detail-title { margin: 0; font-size: 17px; color: #1a1614; line-height: 1.35; }
.xito-panel-detail .xito-detail-saints { font-size: 13px; color: #4a3f38; }
.xito-panel-detail .xito-detail-lunar { font-size: 12px; color: #8a7f78; }
.xito-panel-detail .xito-scripture-note { font-size: 12px; color: #6b6460; font-style: italic; margin: 0; }
.xito-panel-detail .xito-info-card { background: #fff; border: 1px solid #e8e4de; border-radius: 10px; padding: 12px; }
.xito-panel-detail .xito-info-card header h3 { margin: 0 0 8px; font-size: 13px; color: #7a110d; text-transform: uppercase; letter-spacing: .03em; }
.xito-panel-detail .xito-card-body ul { list-style: none; margin: 0; padding: 0; }
.xito-panel-detail .xito-card-body li { font-size: 13px; line-height: 1.5; margin: 4px 0 0; color: #1a1614; }
.xito-panel-detail .xito-card-body .sub-item { display: block; padding-left: 12px; position: relative; }
.xito-panel-detail .xito-card-body .sub-item::before { content: "-"; position: absolute; left: 0; color: #b45309; }
.xito-panel-detail .xito-card-body .death-item { color: #78350f; }
.xito-panel-detail .xito-card-body .cross-icon { color: #7c3aed; font-weight: 700; margin-right: 4px; }
.xito-panel-detail .xito-reading-line { font-size: 13px; color: #1a1614; font-style: italic; }

/* ===== Thanh thông tin ngày (in-flow, không fixed) ===== */
.xito-app .header-center-content {
  display: flex; flex-direction: row; align-items: center; justify-content: space-between;
  gap: 14px; padding: 12px 16px; margin: 0 0 14px;
  background: #faf7f5; border: 1px solid #eeeae5; border-left: 5px solid #7a110d; border-radius: 10px;
  cursor: default;
}
.xito-app .header-liturgy-info { text-align: left; color: #1a1614; font-size: 14px; line-height: 1.4; flex: 1 1 auto; min-width: 0; }
.xito-app .header-liturgy-title { font-weight: 800; font-size: 16px; color: #7a110d; margin-bottom: 2px; }
.xito-app .header-liturgy-reading { font-size: 13px; color: #6b6460; font-style: italic; opacity: 1; }
.xito-app .header-clock { color: #1a1614; font-size: 16px; font-weight: 800; margin-top: 0; font-family: 'Segoe UI', Tahoma, sans-serif; font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (max-width: 560px) {
  .xito-app .header-center-content { flex-direction: column; align-items: flex-start; }
  .xito-app .header-clock { font-size: 14px; }
}

/* ===== Giờ kinh — compact dễ đọc ===== */
.xi-hours-title { text-align: center; font-size: 20px; font-weight: 800; color: #7a110d; margin: 22px 0 12px; }
.xito-hours .xito-post-title { text-align: center; font-size: 20px; font-weight: 800; color: #7a110d; margin: 0 0 10px; text-transform: none; }
/* Nav 7 giờ dạng pill */
.xito-app .x-nav { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; border: 0; padding: 0; margin: 0 0 14px; }
.xito-app .x-nav .x-btn { border: 1px solid #e8e4de !important; background: #fff !important; color: #4a3f38 !important; border-radius: 20px; padding: 7px 14px; font-size: 12.5px; font-weight: 700; cursor: pointer; }
.xito-app .x-nav .x-btn:hover { border-color: #b22222 !important; color: #b22222 !important; }
.xito-app .x-nav .x-btn.active { background: #7a110d !important; border-color: #7a110d !important; color: #fff !important; }

.xi-hour { border: 1px solid #eeeae5; border-radius: 12px; overflow: hidden; margin: 0 0 14px; background: #fff; }
.xi-hour__head { display: flex; align-items: center; gap: 10px; padding: 11px 16px; background: #faf7f5; border-bottom: 1px solid #eeeae5; }
.xi-hour__name { font-size: 16px; font-weight: 800; color: #7a110d; letter-spacing: .01em; }
.xi-hour__time { margin-left: auto; font-size: 12px; color: #8a7f78; white-space: nowrap; }
.xi-hour__body { padding: 14px 16px; font-size: 15px; line-height: 1.6; color: #333; }
.xi-ctx { display: inline-block; font-size: 12.5px; font-weight: 700; color: #7a110d; background: #f4e3e2; border-radius: 20px; padding: 4px 12px; margin: 0 0 12px; }
.xi-read { display: grid; gap: 6px; margin: 0 0 12px; }
.xi-read__row { display: flex; gap: 10px; align-items: baseline; }
.xi-read__lbl { flex: 0 0 116px; font-weight: 700; color: #5C3670; }
.xi-read__val { color: #1a1614; }
.xi-psalm { font-size: 14px; color: #4a3f38; margin: 0 0 12px; }
.xi-psalm strong { color: #2d5016; }
.xi-hour__foot { display: flex; align-items: center; gap: 10px; padding: 10px 16px 12px; border-top: 1px dashed #eeeae5; }
.xi-hour__sub { font-size: 12px; color: #a09690; font-style: italic; }
.xito-app .xi-expand { margin-left: auto; display: inline-flex; align-items: center; gap: 5px; background: #7a110d !important; color: #fff !important; border: 0; border-radius: 20px; padding: 8px 16px; font-size: 12.5px; font-weight: 700; cursor: pointer; }
.xito-app .xi-expand:hover { background: #a3221b !important; color: #fff !important; }
.xito-app .xi-expand.is-open { background: #6b6460 !important; }

/* Nội dung đầy đủ (parse từ gkpvxito) */
.x-full-body { border-top: 2px solid #eeeae5; padding: 14px 2px 0; margin-top: 12px; font-size: 15px; line-height: 1.7; color: #333; }
.x-full-body .x-body { font-size: 15px !important; line-height: 1.7; }
.x-full-body .x-head { font-size: 16px; font-weight: 800; color: #7a110d; margin: 6px 0 10px; }
.x-full-body p { margin: 8px 0; }
.x-full-body img { max-width: 100%; height: auto; }
.x-full-body .x-body > p { text-align: justify; }
/* Icon nhạc gkpv (nội dung đầy đủ từ gkpvxito) — thu nhỏ inline */
.xito-app .gkpv-music-btn { border: 0 !important; background: none !important; padding: 0 !important; margin: 0 3px !important; line-height: 0 !important; vertical-align: middle !important; cursor: pointer; box-shadow: none !important; }
.xito-app .gkpv-music-wrap { display: inline-block !important; line-height: 0 !important; vertical-align: middle !important; }
.xito-app .gkpv-music-icon,
.xito-app img.gkpv-music-icon { width: 16px !important; height: 16px !important; max-width: 16px !important; max-height: 16px !important; display: inline-block !important; vertical-align: middle !important; margin: 0 !important; padding: 0 !important; }
@media (max-width: 560px) {
  .xi-read__row { display: block; }
  .xi-read__lbl { display: block; margin-bottom: 2px; }
  .xi-hour__foot { flex-wrap: wrap; }
  .xi-expand { margin-left: 0; }
}

/* ===== Legend (đã có) ===== */
.xito-legend { border: 1px dashed #d4cfc8; border-radius: 10px; padding: 12px; background: #fafaf8; }
.xito-legend-title { font-size: 13px; font-weight: 800; color: #1a1614; margin: 8px 0 6px; }
.xito-legend-title:first-child { margin-top: 0; }
.xito-legend-colors { display: flex; flex-wrap: wrap; gap: 8px; }
.xito-legend-chip { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; color: #4a3f38; }
.xito-legend-dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.xito-legend-list { list-style: none; margin: 0; padding: 0; }
.xito-legend-list li { font-size: 12px; color: #4a3f38; margin: 5px 0; line-height: 1.5; }
.xito-legend-list .xito-cross { color: #7c3aed; }
.xito-legend-list .xito-calendar__member-flag { margin-left: 2px; }