/* ═══════════════════════════════════════════════════════════
   site.css — phần bổ sung cho WordPress.
   main.css là CSS của bản demo, giữ nguyên để trang chủ khớp
   từng pixel. Mọi thứ demo không có (trang trong, nội dung bài,
   phân trang, lớp lõi WordPress) nằm ở đây, đọc cùng bộ token.
   ═══════════════════════════════════════════════════════════ */

/* ── Lõi WordPress ─────────────────────────────────────── */
.screen-reader-text{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.skip-link:focus{
  clip:auto;width:auto;height:auto;margin:0;z-index:100;left:12px;top:12px;
  background:var(--surface);color:var(--brand);padding:12px 18px;border-radius:8px;
  font-weight:600;box-shadow:var(--shadow-hover);
}
/* Header dính phải nhường chỗ cho thanh quản trị khi đăng nhập. */
.admin-bar .hdr{top:32px}
@media (max-width:782px){.admin-bar .hdr{top:46px}}
@media (max-width:600px){.admin-bar .hdr{top:0}}

/* ── Ảnh thật trong khung .ph (demo chỉ có hình minh hoạ SVG) ── */
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .5s cubic-bezier(.2,.7,.25,1)}
.card:hover .ph img,.kn:hover .ph img,.feat:hover .ph img{transform:scale(1.035)}
.news-item .ph{aspect-ratio:4/3}

/* ── Quy trình khám: <ol> thay cho <div>, số cột theo số bước ── */
.flow{list-style:none;padding:0;margin-bottom:0}
@media (min-width:1280px){
  .flow{grid-template-columns:repeat(var(--steps,6),1fr)}
}

/* ── Tab kiến thức: là <a> (đi được khi tắt JS) chứ không phải <button> ── */
.kn-tab{display:inline-flex;align-items:center;line-height:1.4}
.kn[hidden]{display:none}

/* Liên kết trong khối liên hệ / footer mang màu của chữ quanh nó. */
.crow .v a:hover,.f-brand a:hover{text-decoration:underline;text-underline-offset:3px}

/* ═════════ TRANG TRONG · dải tiêu đề ═════════ */
.phead{background:var(--surface);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.phead::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(115deg,var(--brand-wash) 0%,var(--brand-wash-2) 46%,var(--surface) 100%);
}
.phead .wrap{position:relative;padding-block:clamp(28px,4vw,52px)}
.phead h1{margin:6px 0 0;max-width:30ch}
.phead .sub{margin-top:14px;color:var(--ink-2);font-size:17.5px;max-width:62ch}
.phead .meta{margin-top:16px}
.phead .sprig{right:-40px;top:-60px;width:300px}

.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 0;font-size:14px;color:var(--ink-3)}
.crumbs li{display:inline-flex;align-items:center}
.crumbs li+li::before{content:"›";margin:0 9px;color:var(--ink-3)}
.crumbs a{color:var(--ink-2)}
.crumbs a:hover{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
.crumbs [aria-current]{color:var(--ink-3);max-width:46ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ═════════ BỐ CỤC NỘI DUNG + CỘT PHỤ ═════════ */
.layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:clamp(32px,4vw,56px);align-items:start}
.layout.solo{grid-template-columns:minmax(0,1fr);max-width:820px}
@media (max-width:1023px){.layout{grid-template-columns:1fr}}

.aside{display:grid;gap:20px;position:sticky;top:calc(var(--hdr-h) + 20px)}
@media (max-width:1023px){.aside{position:static}}
.side-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.side-card h3{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:14px}
.side-card.brand{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.side-card.brand h3{color:rgba(255,255,255,.75)}
.side-card.brand .hot{font-size:28px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums;display:block;margin:2px 0 6px}
.side-card.brand p{font-size:14.5px;color:rgba(255,255,255,.82)}
.side-card.brand .btn{margin-top:16px;width:100%}
.side-list{list-style:none;margin:0;padding:0}
.side-list li+li{border-top:1px solid var(--line-soft)}
.side-list a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;font-size:15.5px;font-weight:500;color:var(--ink)}
.side-list a:hover,.side-list a.on{color:var(--brand)}
.side-list svg{color:var(--ink-3);flex:none}

.facts{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.facts li{display:flex;gap:12px;align-items:flex-start;font-size:15.5px}
.facts svg{color:var(--brand);flex:none;margin-top:4px}
.facts .k{display:block;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}

/* ═════════ NỘI DUNG BÀI (the_content) ═════════ */
.prose{font-size:17.5px;line-height:1.78;color:var(--ink)}
.prose>*+*{margin-top:1.1em}
.prose h2{font-size:clamp(23px,2.2vw,28px);margin-top:1.8em}
.prose h3{font-size:20px;margin-top:1.6em}
.prose h4{font-size:17.5px;margin:1.4em 0 0}
.prose a{color:var(--brand);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.prose a:hover{text-decoration-thickness:2px}
.prose ul,.prose ol{padding-left:1.3em;margin-bottom:0}
.prose li+li{margin-top:.4em}
.prose li::marker{color:var(--brand)}
.prose blockquote{margin-left:0;margin-right:0;padding:16px 22px;border-left:3px solid var(--brand);background:var(--brand-wash-2);border-radius:0 var(--r) var(--r) 0;color:var(--ink-2)}
.prose img{height:auto;border-radius:var(--r)}
.prose figure{margin-left:0;margin-right:0}
.prose figcaption,.prose .wp-element-caption{font-size:14px;color:var(--ink-3);margin-top:8px;text-align:center}
.prose table{width:100%;border-collapse:collapse;font-size:15.5px}
.prose th,.prose td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.prose th{background:var(--brand-wash-2);font-weight:600}
.prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.prose .alignleft{float:left;margin:.3em 1.4em 1em 0}
.prose .alignright{float:right;margin:.3em 0 1em 1.4em}
.prose .aligncenter{margin-left:auto;margin-right:auto}
.prose .wp-block-table{overflow-x:auto}

.post-cover{margin-bottom:32px}
.post-cover .ph{aspect-ratio:16/9}
.disclaimer{margin-top:36px;padding:16px 20px;border-radius:var(--r);background:var(--urgent-wash);color:var(--ink-2);font-size:14.5px;display:flex;gap:12px}
.disclaimer svg{color:var(--urgent);flex:none;margin-top:3px}

/* ═════════ DANH SÁCH TIN (trang Tin tức) ═════════ */
.news-rows{display:grid}
.news-row{display:grid;grid-template-columns:280px 1fr;gap:28px;padding:26px 0;border-bottom:1px solid var(--line);align-items:start}
.news-row:first-child{padding-top:0}
.news-row:last-child{border-bottom:0}
.news-row h2{font-family:"Be Vietnam Pro",sans-serif;font-size:20.5px;font-weight:600;line-height:1.4;margin:10px 0 8px}
.news-row p{color:var(--ink-2);font-size:15.5px}
.news-row:hover h2{color:var(--brand)}
@media (max-width:767px){
  .news-row{grid-template-columns:110px 1fr;gap:14px;padding:18px 0}
  .news-row h2{font-size:16.5px;margin:6px 0 0}
  .news-row p{display:none}
}

/* Bộ lọc chuyên mục / chủ đề trên trang lưu trữ — dùng lại kiểu tab của demo. */
.filters{margin-bottom:32px}

/* ═════════ HỒ SƠ BÁC SĨ ═════════ */
.profile{display:grid;grid-template-columns:300px 1fr;gap:clamp(28px,4vw,48px);align-items:start}
.profile .ph{border-radius:var(--r)}
.profile .deg{font-size:13px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}
.profile h1{margin:6px 0 8px}
.profile .role{font-size:18px;color:var(--ink-2)}
.profile .facts{margin:24px 0 28px;padding:22px 0;border-block:1px solid var(--line)}
@media (max-width:767px){.profile{grid-template-columns:1fr}.profile .ph{max-width:260px}}

/* ═════════ KHỐI LIÊN QUAN (cuối bài) ═════════ */
.related{border-top:1px solid var(--line)}

/* ═════════ PHÂN TRANG ═════════ */
.pager{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:48px}
.pager .page-numbers{
  min-width:44px;height:44px;padding:0 12px;border-radius:8px;border:1px solid var(--line);
  background:var(--surface);display:inline-flex;align-items:center;justify-content:center;
  font-weight:600;font-size:15px;color:var(--ink-2);
}
.pager a.page-numbers:hover{border-color:var(--brand);color:var(--brand)}
.pager .current{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.pager .dots{border:0;background:none}

/* ═════════ TÌM KIẾM + TRỐNG ═════════ */
.search-form{display:flex;gap:10px;max-width:560px}
.search-form label{flex:1}
.search-field{
  width:100%;min-height:52px;padding:0 18px;border:1px solid var(--line);border-radius:8px;
  font:inherit;font-size:16.5px;background:var(--surface);color:var(--ink);
}
.search-field:focus{outline:3px solid color-mix(in srgb,var(--brand-mid) 40%,transparent);border-color:var(--brand)}
.empty{background:var(--surface);border:1px dashed var(--line);border-radius:var(--r);padding:clamp(32px,5vw,56px);text-align:center;color:var(--ink-2)}
.empty h2{margin-bottom:12px;color:var(--ink)}
.empty .search-form{margin:24px auto 0}
.empty .btn{margin-top:20px}

.e404{font-family:"Source Serif 4",Georgia,serif;font-size:clamp(72px,12vw,140px);font-weight:700;line-height:1;color:var(--brand);opacity:.18;margin-bottom:6px}

/* Nhãn chủ đề trong thẻ kiến thức: .body là cột flex nên nhãn bị kéo hết ngang. */
.kn .tag{align-self:flex-start}

/* Huy hiệu banner: thẻ <img> mang height="118", nên khi CSS thu bề rộng còn
   86px (≤639) thì ảnh bị bóp méo. Chiều cao phải tự theo bề rộng. */
.bn-em{height:auto;aspect-ratio:1/1;object-fit:contain}
/* Màn nhỏ: bỏ ngắt dòng cố định của tên, để trình duyệt chia dòng cân — nếu
   không chữ "TRUYỀN" bị rớt một mình xuống dòng riêng. */
@media (max-width:639px){
  .bn-nm br{display:none}
  .bn-nm{text-wrap:balance}
}

/* ═══════════════════════════════════════════════════════════
   THÔNG BÁO
   ═══════════════════════════════════════════════════════════ */

/* Thanh thông báo khẩn — dưới header, mọi trang. Đỏ "khẩn" của demo
   chỉ dùng cho cấp cứu, nên đây cũng là chỗ duy nhất khác được dùng nó. */
.alertbar{background:var(--urgent-wash);border-bottom:1px solid color-mix(in srgb,var(--urgent) 22%,transparent);color:var(--ink)}
.alertbar .wrap{display:flex;align-items:center;gap:8px 16px;min-height:52px;padding-block:8px}
.alertbar .ab-k{display:inline-flex;align-items:center;gap:9px;flex:none;color:var(--urgent);font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.alertbar .live{color:var(--urgent)}
.alertbar .ab-t{flex:1;min-width:0;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15.5px}
.alertbar .ab-t:hover{color:var(--urgent);text-decoration:underline;text-underline-offset:3px}
.alertbar .ab-t svg{flex:none}
.alertbar .ab-x{flex:none;width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:var(--ink-2);display:grid;place-items:center;cursor:pointer}
.alertbar .ab-x:hover{background:rgba(255,255,255,.7);color:var(--ink)}
.alertbar[hidden]{display:none}
@media (max-width:767px){
  .alertbar .wrap{flex-wrap:wrap;position:relative;padding-right:52px}
  .alertbar .ab-x{position:absolute;right:10px;top:8px}
  .alertbar .ab-t{flex-basis:100%;font-size:15px}
}

/* Nhãn mức độ */
.lv{display:inline-block;padding:3px 10px;border-radius:5px;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.lv-urgent{background:var(--urgent);color:#fff}
.lv-important{background:var(--accent-wash);color:var(--accent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent)}
.lv-expired{background:var(--line-soft);color:var(--ink-3)}
.phead .meta .lv{margin-right:2px}

/* Danh sách */
.nlist{display:grid;gap:12px}
.nrow{
  display:grid;grid-template-columns:76px 1fr 24px;gap:20px;align-items:center;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;
  position:relative;overflow:hidden;transition:border-color .16s,box-shadow .16s,transform .16s;
}
.nrow::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--brand);opacity:.25;transition:opacity .2s}
.nrow:hover{border-color:var(--brand-mid);box-shadow:var(--shadow-hover);transform:translateY(-2px)}
.nrow:hover::before{opacity:1}
.nrow:has(.lv-urgent)::before{background:var(--urgent);opacity:1}
.ndate{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;border-radius:10px;background:var(--brand-wash);color:var(--brand)}
.ndate b{font-size:26px;line-height:1;font-variant-numeric:tabular-nums}
.ndate span{font-size:12px;margin-top:4px;color:var(--ink-2)}
.nbody{display:flex;flex-direction:column;gap:6px;min-width:0}
.nbadges{display:flex;gap:6px;flex-wrap:wrap}
.nbadges:empty{display:none}
.nt{font-size:18px;font-weight:600;line-height:1.42}
.nrow:hover .nt{color:var(--brand)}
.nmeta{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:14px;color:var(--ink-3)}
.nmeta span{display:inline-flex;align-items:center;gap:5px}
.ngo{color:var(--ink-3)}
.nrow.is-expired{background:var(--ground)}
.nrow.is-expired .nt{color:var(--ink-2)}
.nrow.is-expired .ndate{background:var(--line-soft);color:var(--ink-3)}
@media (max-width:767px){
  .nrow{grid-template-columns:56px 1fr;gap:14px;padding:14px}
  .ngo{display:none}
  .ndate b{font-size:20px}
  .nt{font-size:16px}
}

/* Tệp đính kèm */
.files{margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}
.files h2{font-size:22px;margin-bottom:16px}
.file{display:flex;align-items:center;gap:16px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);transition:border-color .16s,background-color .16s}
.file+.file{margin-top:10px}
.file:hover{border-color:var(--brand);background:var(--brand-wash-2)}
.fext{flex:none;width:48px;height:48px;border-radius:8px;background:var(--brand-wash);color:var(--brand);display:grid;place-items:center;font-size:12.5px;font-weight:700}
.fname{flex:1;min-width:0;font-weight:600;overflow-wrap:anywhere}
.fname small{display:block;font-weight:400;color:var(--ink-3);font-size:13.5px}
.fdl{flex:none;color:var(--brand);font-weight:600;font-size:15px}

/* ═══════════════════════════════════════════════════════════
   LỊCH TRỰC
   ═══════════════════════════════════════════════════════════ */
.btn-urgent{background:var(--urgent);color:#fff}
.btn-urgent:hover{background:color-mix(in srgb,var(--urgent) 85%,#000)}

.duty-now-band{padding-block:clamp(32px,4vw,52px)}
.duty-now{display:grid;grid-template-columns:minmax(260px,.8fr) 1.2fr;gap:clamp(24px,4vw,56px);align-items:start;
  border:1px solid var(--line);border-radius:var(--r);padding:clamp(22px,3vw,34px);background:var(--brand-wash-2)}
.duty-now .eyebrow{display:flex;align-items:center;gap:10px;color:var(--urgent)}
.duty-now .live{color:var(--urgent)}
.duty-now h2 span{display:block;font-family:"Be Vietnam Pro",sans-serif;font-size:16px;font-weight:500;color:var(--ink-2);margin-top:4px}
.duty-now .dn-head>p:not(.eyebrow){color:var(--ink-2);margin-top:6px}
.dn-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.dn-roles{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0}
.dn-roles>div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.dn-roles dt{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}
.dn-roles dd{margin:0}
.dn-roles .dnames{font-size:16.5px;font-weight:600}
@media (max-width:1023px){.duty-now{grid-template-columns:1fr}}
@media (max-width:479px){.dn-roles{grid-template-columns:1fr}}

.dnames{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.dnames a:hover{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
.dnames small{font-size:11.5px;font-weight:700;letter-spacing:.04em;color:var(--accent)}
.dnone{color:var(--ink-3)}

.duty-nav{display:flex;align-items:center;gap:14px;margin-bottom:24px;flex-wrap:wrap}
.duty-nav .iconbtn{text-decoration:none}
.duty-nav .iconbtn.is-off{opacity:.35;cursor:not-allowed}
.dw-label{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.dw-label h2{font-size:clamp(21px,2.2vw,26px)}
.duty-print{margin-left:auto;min-height:44px;padding:0 18px;font-size:15px}

.duty-table-wrap{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface)}
.duty-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14.5px}
.duty-table th,.duty-table td{border-bottom:1px solid var(--line-soft);border-right:1px solid var(--line-soft);padding:12px;vertical-align:top;text-align:left}
.duty-table tr>*:last-child{border-right:0}
.duty-table thead th{background:var(--brand-wash-2);border-bottom:1px solid var(--line);text-align:center}
.duty-table thead .dw{display:block;font-size:13px;font-weight:600;color:var(--ink-2)}
.duty-table thead .dd{display:block;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}
.duty-table thead .is-sun .dw,.duty-table thead .is-sun .dd{color:var(--urgent)}
.duty-table thead .is-today{background:var(--brand);color:var(--on-brand)}
.duty-table thead .is-today .dw,.duty-table thead .is-today .dd{color:var(--on-brand)}
.duty-table .dslot{width:150px;font-weight:600;background:var(--surface)}
.duty-table .dslot small{display:block;font-weight:400;font-size:12.5px;color:var(--ink-3)}
.duty-table .drole th{background:var(--ground);font-size:12.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);padding:9px 12px;border-top:1px solid var(--line)}
.duty-table td.is-today{background:color-mix(in srgb,var(--brand-wash) 55%,transparent)}
.duty-table td.is-now{background:var(--brand-wash);box-shadow:inset 0 0 0 2px var(--brand)}

/* ≤1023: bảng 7 cột hết đọc nổi → thẻ theo ngày */
.duty-days{display:none}
@media (max-width:1023px){
  .duty-table-wrap{display:none}
  .duty-days{display:grid;gap:12px}
}
.dday{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.dday.is-today{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
.dday summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;padding:0 18px;cursor:pointer;list-style:none;font-size:16.5px}
.dday summary::-webkit-details-marker{display:none}
.dday summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(45deg);margin-left:auto;transition:transform .2s}
.dday[open] summary::after{transform:rotate(-135deg)}
.dday summary .tag{margin-left:8px}
.dshift{padding:14px 18px;border-top:1px solid var(--line-soft)}
.dshift.is-now{background:var(--brand-wash)}
.dsh{margin:0 0 8px;font-weight:700;color:var(--brand)}
.dsh small{font-weight:500;color:var(--ink-3)}
.dshift dl{margin:0;display:grid;gap:8px}
.dshift dl>div{display:grid;grid-template-columns:130px 1fr;gap:10px}
.dshift dt{font-size:13.5px;color:var(--ink-3)}
.dshift dd{margin:0;font-size:15px;font-weight:500}

/* Hồ sơ bác sĩ: lịch trực sắp tới */
.doc-duty{margin:0 0 28px;padding:20px 22px;border-radius:var(--r);background:var(--brand-wash-2);border:1px solid var(--line)}
.doc-duty h2{font-size:19px;font-family:"Be Vietnam Pro",sans-serif;font-weight:600;margin-bottom:12px}
.doc-duty ul{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:8px}
.doc-duty li{display:grid;grid-template-columns:76px 1fr auto;gap:12px;align-items:center;background:var(--surface);border-radius:8px;padding:10px 14px;font-size:15px}
.doc-duty li.is-today{box-shadow:inset 3px 0 0 var(--brand)}
.doc-duty .dd{font-variant-numeric:tabular-nums;color:var(--ink-2)}
.doc-duty .dd b{color:var(--brand);margin-right:6px}
.doc-duty small{color:var(--ink-3)}
.doc-duty .dr{font-size:13.5px;color:var(--ink-2)}
@media (max-width:479px){.doc-duty li{grid-template-columns:70px 1fr}.doc-duty .dr{grid-column:2}}

/* In lịch trực: chỉ còn bảng. Người in là để dán lên bảng tin khoa. */
@media print{
  .util,.hdr,.alertbar,.hotfloat,.callbar,.mnav,.site-foot,.duty-now-band,.duty-print,.duty-nav .iconbtn,.dw-label .seclink,.crumbs,.phead .sprig{display:none!important}
  body{background:#fff;font-size:12px}
  .phead,.phead::before{background:none;border:0}
  .phead .wrap{padding-block:0 8px}
  .band{padding-block:0}
  .duty-table-wrap{display:block!important;border-color:#999}
  .duty-days{display:none!important}
  .duty-table{font-size:11px}
  .duty-table th,.duty-table td{border-color:#bbb;padding:5px}
  .duty-table thead .is-today{background:none;color:inherit}
  .duty-table thead .is-today .dw,.duty-table thead .is-today .dd{color:inherit}
  .duty-table td.is-now,.duty-table td.is-today{background:none;box-shadow:none}
  .anim .reveal{opacity:1!important;transform:none!important}
  a{text-decoration:none!important}
}

/* Bảng tuần: ô hẹp (~110px) — học vị lên dòng riêng để tên không gãy giữa chừng. */
.duty-table .dnames{gap:8px}
.duty-table .dnames small{display:block;line-height:1.3}
.duty-table .dnames a{display:block;line-height:1.35}

/* Mobile: ‹ tiêu đề tuần › trên một hàng; nút In ẩn — in từ điện thoại hiếm, còn nút thì chiếm chỗ. */
@media (max-width:767px){
  .duty-nav{display:grid;grid-template-columns:44px 1fr 44px;gap:10px;align-items:center}
  .dw-label{flex-direction:column;justify-content:center;text-align:center;gap:6px}
  .dw-label h2{font-size:18px}
  .duty-print{display:none}
}
