/* ===== Tộc Đặng — "Giấy cũ · Thuỷ mặc" ==================================
   Nguyên tắc: người đọc chính là người cao tuổi. Chữ 19px, tương phản ≥7:1,
   vùng chạm ≥44px, không khoá phóng to. Tiếng Việt dấu hai tầng: line-height 1.8.
   ======================================================================= */
:root{
  --td-giay:#F1EADA; --td-giay-sang:#F8F3E7; --td-giay-dam:#E8DFCB; --td-giay-vien:#DACDB3;
  --td-nau:#432B18; --td-nau-dam:#33200F; --td-nau-nhat:#6B4830;
  --td-vang:#7E6130; --td-vang-dam:#6B5227; --td-vang-500:#B0904F; --td-vang-nhat:#CBB07A;
  --td-reu:#4F5F46; --td-muc:#453B2B; --td-muc-dam:#241B10; --td-muc-nhat:#6E614E;
  --td-ease:cubic-bezier(.16,.84,.44,1); --td-d:340ms;
}
/* Không có reset này thì `width:100%` + padding/border CỘNG THÊM vào bề rộng thay vì nằm trong đó
   ⇒ phần tử tràn ra ngoài khối cha đúng bằng 2×padding+2×border. Đã dính bẫy này 2 lần (nút
   bài trước/sau, khung ảnh nổi bật) trước khi đặt reset toàn cục — nay chặn từ gốc. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased; overflow-x:clip}
/* vân giấy: hai lớp nhiễu SVG, không tải ảnh */
body::before{content:""; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.55; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .45 0 0 0 0 .36 0 0 0 0 .22 0 0 0 .13 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");}
body>*{position:relative; z-index:1}
/* thanh nâu mảnh trên cùng — dấu vết của khung nâu trong bản mẫu, không chiếm chỗ trên điện thoại */
body::after{content:""; position:fixed; top:0; left:0; right:0; height:6px; background:var(--td-nau-dam); z-index:3; pointer-events:none}

img{max-width:100%; height:auto}
figure{margin-inline:0}
a:focus-visible,button:focus-visible{outline:2px solid var(--td-vang); outline-offset:3px}
::selection{background:var(--td-vang-nhat); color:var(--td-nau-dam)}

/* ---------- Kiểu chữ trang trọng ---------- */
.is-style-ttl,.td-ttl{font-family:'Cormorant Garamond',Georgia,serif; font-weight:400; text-transform:uppercase; letter-spacing:.11em;
  color:var(--td-vang-dam); text-wrap:balance; font-variant-numeric:lining-nums tabular-nums; font-feature-settings:'lnum' 1}
.is-style-kicker,.td-kicker{font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; font-weight:400;
  font-size:clamp(1.15rem,2.1vw,1.55rem); color:var(--td-reu); margin-bottom:.3rem; letter-spacing:.01em}
.td-rule{display:flex; align-items:center; justify-content:center; gap:.7rem; margin:1rem auto 0; max-width:15rem}
.td-rule::before,.td-rule::after{content:""; height:1px; flex:1; background:linear-gradient(90deg,transparent,var(--td-vang-500),transparent)}
.td-rule i{width:5px; height:5px; transform:rotate(45deg); background:var(--td-vang); flex:none}
.td-center{text-align:center}
.wp-block-heading,.wp-block-post-title{text-wrap:balance}
h1,h2,h3,h4{font-variant-numeric:lining-nums}

/* ---------- Đầu trang ---------- */
/* WP bọc template part trong <header class="wp-block-template-part"> — sticky phải đặt ở LỚP BỌC, đặt ở .td-header thì dính trong một hộp cao đúng bằng chính nó = vô hiệu */
.wp-block-template-part:has(> .td-header){position:sticky; top:0; z-index:20}
.td-header{padding-top:calc(6px + 1rem); padding-bottom:.6rem; border-bottom:1px solid var(--td-giay-vien);
  background:var(--td-giay-sang); position:relative; z-index:20}
.td-header .wp-block-site-logo img{width:52px; height:52px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 2px var(--td-giay-sang),0 0 0 3px var(--td-vang-nhat)}
.td-mark{display:flex; flex-direction:column; gap:.1rem; justify-content:center}
.td-header .wp-block-navigation a{padding:.55rem .6rem; min-height:44px; display:inline-flex; align-items:center; border-bottom:1px solid transparent; transition:border-color var(--td-d) var(--td-ease)}
.td-header .wp-block-navigation a:hover{border-bottom-color:var(--td-vang)}
.td-header .wp-block-navigation__responsive-container-open,.td-header .wp-block-navigation__responsive-container-close{min-width:44px; min-height:44px; color:var(--td-nau)}
.wp-block-navigation__responsive-container.is-menu-open{background:var(--td-giay-sang)}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:.2rem}
.wp-block-navigation__responsive-container.is-menu-open a{font-size:1.15rem; letter-spacing:.08em; padding:.7rem .4rem; border-bottom:1px solid var(--td-giay-vien)}
.wp-block-navigation .wp-block-navigation__submenu-container{background:var(--td-giay-sang)!important; border:1px solid var(--td-giay-vien)!important; padding:.4rem!important; min-width:14rem!important}
.wp-block-navigation .wp-block-navigation__submenu-container a{text-transform:none; letter-spacing:0; font-size:1.05rem; font-weight:400}

/* ---------- Hero trang chủ ---------- */
.td-hero{position:relative; margin-top:1.6rem}
.td-hero__img{border-radius:52% 52% 6px 6px / 34% 34% 6px 6px; overflow:hidden; box-shadow:0 30px 60px -30px rgba(36,27,16,.55); aspect-ratio:16/9}
.td-hero__img img{width:100%; height:100%; object-fit:cover; filter:sepia(.28) saturate(.9) contrast(.97) brightness(1.04); display:block}
.td-hero__img{position:relative}
.td-hero__img::after{content:""; position:absolute; inset:0; box-shadow:inset 0 -60px 60px -20px var(--td-giay), inset 0 0 50px 10px rgba(241,234,218,.55); pointer-events:none; border-radius:inherit}
.td-hero__cap{text-align:center; margin-top:-2.2rem; position:relative; z-index:2; padding:0 .5rem}
.td-hero__cap .td-kicker{display:inline-block; background:var(--td-giay); padding:.2rem 1rem; border-radius:2px}
.td-hero__cap .td-kicker{color:var(--td-reu)}
.td-hero__cap h1{font-size:clamp(2.1rem,6.4vw,4.6rem); font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--td-nau-dam); line-height:1.08; margin:0}
.td-hero__cap h1 .td-hero__line2{display:block; font-size:.66em; letter-spacing:.22em; color:var(--td-vang-dam)}
.td-hero__motto{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:clamp(1.25rem,2.4vw,1.7rem); color:var(--td-nau-nhat); margin:.6rem 0 0}
@media (min-width:782px){.td-hero__img{aspect-ratio:21/9} .td-hero__cap{margin-top:-2.6rem}}

/* ---------- Dải số liệu (nền nâu, tạo nhịp sáng–tối) ---------- */
.is-style-nau,.td-nau{background:var(--td-nau); color:var(--td-giay-sang)}
.is-style-nau :is(h1,h2,h3,h4,p,a,.td-ttl){color:var(--td-giay-sang)}
.is-style-nau .td-kicker,.is-style-nau .td-stat b{color:var(--td-vang-nhat)}
.td-stats{display:grid; grid-template-columns:repeat(2,1fr); gap:1.4rem 1rem; text-align:center}
@media (min-width:600px){.td-stats{grid-template-columns:repeat(4,1fr)}}
.td-stat b{display:block; font-family:'Cormorant Garamond',serif; font-weight:500; font-size:clamp(2.2rem,5vw,3.4rem); line-height:1; font-variant-numeric:lining-nums tabular-nums; color:var(--td-vang-dam)}
.td-stat span{display:block; font-size:.9rem; letter-spacing:.1em; text-transform:uppercase; margin-top:.5rem; opacity:.9}

/* ---------- Thẻ bài ---------- */
.td-cards .wp-block-post-template{gap:2rem 1.6rem}
.td-card{display:flex; flex-direction:column; gap:.5rem; height:100%}
.td-card .wp-block-post-featured-image{aspect-ratio:4/3; overflow:hidden; border-radius:4px; background:var(--td-giay-dam); position:relative}
/* Ảnh thẻ bài hiện NGUYÊN VẸN (contain), không cắt — cắt ngang từng làm mất đầu người trong ảnh
   dọc, và luôn làm mất chữ trong ảnh chụp thư mời. Lớp `.td-imgbg` (chèn qua PHP, xem functions.php)
   là chính ảnh đó phóng to + làm mờ, lấp đầy phần khung trống quanh ảnh chính — không còn khoảng
   trống trơ, không còn phải chọn giữa "mất đầu" và "mất chữ". */
.td-card .wp-block-post-featured-image{isolation:isolate}
.td-imgbg{position:absolute; inset:-8%; background-size:cover; background-position:50% 50%;
  filter:blur(16px) saturate(1.1) brightness(.82) sepia(.2); transform:scale(1.06); z-index:0}
.td-card .wp-block-post-featured-image img{position:relative; z-index:1; width:100%; height:100%; object-fit:contain; filter:sepia(.2) saturate(.92); transition:transform .6s var(--td-ease)}
/* thẻ bài lớn (bài nổi bật) đã có nền giấy riêng cho đúng ảnh dọc như thư mời — không cần lớp mờ */
.td-feature .td-imgbg{display:none}
.td-card:hover .wp-block-post-featured-image img{transform:scale(1.03)}
.td-card .wp-block-post-featured-image:empty{display:none}
.td-card .wp-block-post-title{font-size:clamp(1.25rem,2vw,1.55rem); font-weight:600; line-height:1.25; margin:0}
.td-card .wp-block-post-title a{text-decoration:none; color:var(--td-nau-dam)}
.td-card .wp-block-post-title a:hover{color:var(--td-vang-dam)}
.td-card .wp-block-post-excerpt{font-size:1.05rem; line-height:1.65; color:var(--td-muc-nhat)}
.td-card .wp-block-post-excerpt__more-link{display:none}
.td-card .td-meta{display:flex; flex-wrap:wrap; gap:.3rem .8rem; align-items:baseline; font-size:.85rem}
/* bài nổi bật: KHÔNG cắt ảnh — bố hay đăng thư mời, giấy mời, bằng khen dạng dọc; cắt 4:3 là mất chữ.
   Ảnh nằm nguyên vẹn trên một tấm nền giấy đậm, cao tối đa ~520px, như tờ giấy đặt trên bàn thờ. */
.td-feature .wp-block-post-featured-image{aspect-ratio:auto; background:var(--td-giay-dam); border:1px solid var(--td-giay-vien); border-radius:4px; padding:.6rem; box-shadow:0 24px 50px -30px rgba(36,27,16,.55)}
.td-feature .wp-block-post-featured-image a{display:block}
.td-feature .wp-block-post-featured-image img{width:100%; height:auto; max-height:min(62vh, 520px); object-fit:contain; display:block; filter:none; border-radius:2px}
.td-feature .td-card:hover .wp-block-post-featured-image img{transform:none}
@media (min-width:782px){.td-feature .td-card{display:grid; grid-template-columns:1.15fr 1fr; gap:.4rem 2.4rem; align-items:center} .td-feature .td-card .wp-block-post-featured-image{grid-row:1/span 3; margin:0}}
.td-feature .wp-block-post-title{font-size:clamp(1.6rem,3vw,2.3rem); font-weight:500}
/* danh sách bài dạng hàng (trang chuyên mục / index) */
.td-rows .wp-block-post-template{gap:0}
.td-rows .td-card{flex-direction:row; gap:1.2rem; padding:1.4rem 0; border-bottom:1px solid var(--td-giay-vien); align-items:flex-start}
.td-rows .td-card .wp-block-post-featured-image{flex:0 0 34%; max-width:280px; aspect-ratio:4/3; margin:0}
.td-rows .td-card>div{min-width:0}

/* ---------- Bài viết ---------- */
.td-article-head{text-align:center; margin-bottom:2rem}
.td-article-head .wp-block-post-title{margin:.4rem 0 .6rem}
.td-article-head .td-meta{justify-content:center; display:flex; flex-wrap:wrap; gap:.3rem 1rem}
.entry-content{font-size:1.1875rem}
.entry-content p{margin:0 0 1.15em}
.entry-content :is(h2,h3){margin:1.8em 0 .6em}
.entry-content figure{margin:2rem 0}
.entry-content img{border-radius:3px; box-shadow:0 18px 40px -26px rgba(36,27,16,.6)}
.entry-content figcaption{text-align:center; margin-top:.6rem}
.entry-content :is(ul,ol){padding-left:1.4em}
.entry-content li{margin-bottom:.4em}
.entry-content a{text-underline-offset:.2em}
.entry-content iframe,.entry-content video{max-width:100%}
.entry-content table{border-collapse:collapse; width:100%; font-size:1rem}
.entry-content :is(td,th){border:1px solid var(--td-giay-vien); padding:.5rem .7rem; vertical-align:top}
/* ảnh bo vòm / tan viền */
.is-style-vom img{border-radius:52% 52% 6px 6px / 34% 34% 6px 6px}
.is-style-tan-vien{position:relative}
.is-style-tan-vien::after{content:""; position:absolute; inset:0; box-shadow:inset 0 0 40px 18px var(--td-giay); pointer-events:none}

/* ---------- Điều hướng bài trước/sau, phân trang ---------- */
.td-postnav{display:flex; justify-content:space-between; gap:1rem; border-top:1px solid var(--td-giay-vien); padding-top:1.4rem; margin-top:3rem; font-size:1rem}
.td-postnav a{text-decoration:none; color:var(--td-nau); min-height:44px; display:inline-flex; align-items:center}
.wp-block-query-pagination a,.wp-block-query-pagination .current{min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; text-decoration:none; padding:0 .6rem; border:1px solid var(--td-giay-vien); border-radius:2px}
.wp-block-query-pagination .current{background:var(--td-nau); color:var(--td-giay-sang); border-color:var(--td-nau)}

/* ---------- Nút ---------- */
.wp-block-button__link{min-height:52px; display:inline-flex; align-items:center; gap:.6rem; transition:background var(--td-d) var(--td-ease),color var(--td-d) var(--td-ease),transform var(--td-d) var(--td-ease)}
.wp-block-button__link:hover{transform:translateY(-2px)}
.is-style-outline .wp-block-button__link{border:1px solid var(--td-vang-500)}
.td-nau .wp-block-button__link{color:var(--td-giay-sang); border-color:var(--td-vang-nhat)}
.td-nau .wp-block-button__link:hover{background:var(--td-giay-sang); color:var(--td-nau-dam)}

/* ---------- Tìm kiếm ---------- */
.wp-block-search__input{font-size:16px!important; min-height:44px; border:1px solid var(--td-giay-vien); background:var(--td-giay-sang); padding:.5rem .8rem; color:var(--td-muc)}
.wp-block-search__button{min-height:44px; min-width:44px; background:var(--td-nau); color:var(--td-giay-sang); border:0; padding:0 1rem; font-size:.9rem; letter-spacing:.1em; text-transform:uppercase; cursor:pointer}

/* ---------- Phả hệ toàn màn hình ---------- */
.td-phahe{position:relative; width:100%; height:min(82vh,900px); min-height:520px; border:1px solid var(--td-giay-vien); border-radius:6px; overflow:hidden; background:var(--td-giay-sang)}
.td-phahe iframe{position:absolute; inset:0; width:100%; height:100%; border:0}
.td-phahe__full{position:absolute; bottom:.8rem; right:.8rem; z-index:2; min-height:44px; padding:0 .9rem; display:inline-flex; align-items:center; gap:.4rem; background:var(--td-nau); color:var(--td-giay-sang); border:0; border-radius:2px; font:500 .85rem/1 'Be Vietnam Pro',sans-serif; letter-spacing:.1em; text-transform:uppercase; cursor:pointer}

/* ---------- Chân trang ---------- */
.td-footer{background:var(--td-nau-dam); color:var(--td-giay-dam); margin-top:5.5rem; padding-top:3.6rem; padding-bottom:2.4rem; font-size:1rem}
.td-footer :is(h2,h3,h4){color:var(--td-vang-nhat); font-family:'Be Vietnam Pro',sans-serif; font-size:.8rem; letter-spacing:.18em; text-transform:uppercase; font-weight:500; margin:0 0 .8rem}
.td-footer a{color:var(--td-giay-sang); text-decoration:none; min-height:44px; display:inline-flex; align-items:center}
.td-footer a:hover{color:var(--td-vang-nhat); text-decoration:underline}
.td-footer .wp-block-navigation{flex-direction:column; gap:.1rem}
.td-footer .wp-block-navigation a{text-transform:none; letter-spacing:0; font-weight:300; font-size:1.05rem; padding:0}
.td-footer__motto{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.35rem; color:var(--td-vang-nhat); margin:0 0 .6rem}
.td-footer__bottom{border-top:1px solid rgba(203,176,122,.25); margin-top:2.4rem; padding-top:1.2rem; font-size:.9rem; opacity:.85; display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; justify-content:space-between}

/* ---------- Mục (section) trang chủ ---------- */
.td-sec{padding-top:3.6rem; padding-bottom:1rem}
.td-sec__head{text-align:center; margin-bottom:2rem}
.td-sec__head .td-ttl{font-size:clamp(1.7rem,3.6vw,2.6rem); margin:0}
.td-more{text-align:center; margin-top:1.6rem}

/* ---------- Giảm chuyển động ---------- */
@media (prefers-reduced-motion:reduce){*{transition:none!important; scroll-behavior:auto!important}}
/* ---------- In ---------- */
@media print{body::before,body::after,.td-header,.td-footer,.td-postnav{display:none!important} body{background:#fff; color:#000}}

@media (max-width:480px){.td-header .wp-block-site-title{font-size:1.05rem; letter-spacing:.05em} .td-header .wp-block-site-logo img{width:44px; height:44px}}

/* menu di động: canh trái — khối Navigation truyền justification qua biến CSS, phải ghi đè biến chứ không phải thuộc tính */
.wp-block-navigation__responsive-container.is-menu-open{--navigation-layout-justification-setting:flex-start; --navigation-layout-justify:flex-start; --navigation-layout-align:flex-start}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{align-items:flex-start!important; justify-content:flex-start!important; text-align:left}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{justify-content:flex-start; width:100%; text-align:left}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{align-items:flex-start!important; width:100%}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{width:100%; align-items:flex-start!important; margin:0!important; padding:0 0 .3rem 0!important; left:auto!important; transform:none!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content{padding:.55rem 0 .55rem 1.1rem; font-size:1.08rem; border-bottom:0}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before{content:"–"; color:var(--td-vang-500); margin-right:.5rem}
/* menu di động: canh trái, chữ to, submenu không đóng khung */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{align-items:flex-start; padding-top:3rem}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{align-items:flex-start; width:100%}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item{width:100%}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{border:0!important; padding:0 0 .4rem 1rem!important; background:transparent!important}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container a{border-bottom-color:transparent}
/* bài không có ảnh: ô giữ chỗ để lưới không xô lệch */
.td-noimg{display:flex; align-items:center; justify-content:center; width:100%; height:100%; aspect-ratio:4/3; background:var(--td-giay-dam); color:var(--td-vang-nhat); font-family:'Cormorant Garamond',serif; font-size:3rem; letter-spacing:.2em; text-transform:uppercase}
.td-rows .td-noimg{aspect-ratio:4/3}

/* =====================================================================
   MOBILE-FIRST PASS (03/09, sau khi lên site thật)
   Điện thoại là màn hình chính của người trong họ.
   - Logo (ấn 鄧) to hơn, luôn hiện; tên site gọn 2 dòng, ẩn tagline.
   - Thẻ bài trên điện thoại = hàng ngang: chữ trái, ảnh vuông 104px phải
     (thay vì ảnh 4:3 nguyên bề ngang) ⇒ trang chủ ngắn đi ~1/2.
   - Bài không ảnh: không hiện ô giữ chỗ, chữ chiếm hết hàng.
   - Ảnh trong bài tràn sát mép màn hình.
   - Nút, điều hướng bài trước/sau: nguyên bề ngang, cao ≥ 48px.
   ===================================================================== */
@media (max-width:781px){
  .td-header{padding-top:calc(6px + .45rem); padding-bottom:.45rem}
  .td-header .wp-block-site-logo img{width:58px; height:58px}
  .td-header .wp-block-site-title{font-size:1.02rem; letter-spacing:.06em; line-height:1.15; max-width:11rem}
  .td-header .wp-block-site-tagline{display:none}
  .td-header .wp-block-navigation__responsive-container-open{width:48px; height:48px}
  .td-hero{margin-top:.9rem}
  .td-hero__img{aspect-ratio:4/3; border-radius:46% 46% 6px 6px / 22% 22% 6px 6px}
  .td-hero__cap{margin-top:-1.6rem}
  .td-hero__cap .td-kicker{font-size:1rem; padding:.15rem .7rem}
  .td-hero__cap h1{font-size:2.1rem; letter-spacing:.09em}
  .td-sec{padding-top:2.2rem; padding-bottom:.4rem}
  .td-sec__head{margin-bottom:1rem}
  .td-sec__head .td-ttl{font-size:1.5rem}
  .td-rule{margin-top:.6rem}
  .td-nau.td-sec{padding-top:2.4rem!important; padding-bottom:2.4rem!important}
  .td-stats{gap:1rem .6rem}
  .td-stat b{font-size:2.1rem}
  /* Cùng bẫy "ảnh lệch" đã sửa ở .td-rows: ảnh 104px ghim góc trên-phải trong khi tiêu đề 3-4
     dòng làm ảnh trông trôi nổi, không rõ thuộc bài nào. Đổi sang ẢNH TRÊN, CHỮ DƯỚI, tràn hết
     bề ngang — giống hệt cách đã sửa cho trang danh sách, để cả site nhất quán một kiểu thẻ bài. */
  .td-cards .wp-block-post-template{grid-template-columns:1fr!important; gap:0!important}
  .td-cards .td-card{flex-direction:column; align-items:stretch; gap:.7rem; padding:1.3rem 0; border-bottom:1px solid var(--td-giay-vien)}
  .td-cards .wp-block-post-template>li:first-child .td-card{padding-top:0}
  .td-cards .td-card .wp-block-post-featured-image{width:100%; max-width:none; aspect-ratio:16/10; margin:0}
  .td-cards .td-card .wp-block-post-title{font-size:1.15rem; line-height:1.3}
  .td-cards .td-card .wp-block-post-excerpt{font-size:.95rem; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
  .td-cards .td-card .td-meta{font-size:.78rem; gap:.2rem .6rem}
  .td-cards .td-card .wp-block-post-featured-image:has(.td-noimg){display:none}
  .td-feature .td-card{display:flex; flex-direction:column; gap:.4rem; border-bottom:0; padding-bottom:.4rem}
  .td-feature .td-card .wp-block-post-featured-image{width:100%; aspect-ratio:auto; grid-row:auto; padding:.4rem}
  .td-feature .td-card .wp-block-post-featured-image img{max-height:70vh}
  .td-feature .td-card .wp-block-post-title{font-size:1.45rem}
  .td-feature .td-card .wp-block-post-excerpt{-webkit-line-clamp:3}
  /* Ảnh 104px cạnh chữ TỪNG bị lệch: tiêu đề dài xuống 3-4 dòng làm ảnh trông như trôi nổi,
     không dính vào dòng chữ nào (đã đo trên site thật, ảnh chụp cho thấy rõ). Đổi sang ẢNH TRÊN,
     CHỮ DƯỚI, tràn hết bề ngang — bố cục này không còn phụ thuộc chữ dài hay ngắn. */
  .td-rows .td-card{flex-direction:column; align-items:stretch; gap:.7rem; padding:1.4rem 0; border-bottom:1px solid var(--td-giay-vien)}
  .td-rows .wp-block-post-template>li:first-child .td-card{padding-top:0}
  .td-rows .td-card .wp-block-post-featured-image{width:100%; max-width:none; flex:none; aspect-ratio:16/10; margin:0}
  .td-rows .td-card .wp-block-post-title{font-size:1.2rem}
  .td-rows .td-card .wp-block-post-excerpt{font-size:.98rem; line-height:1.55; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
  .td-rows .td-card .wp-block-post-featured-image:has(.td-noimg){display:none}
  .td-more .wp-block-button,.td-more .wp-block-button__link{width:100%; justify-content:center; min-height:50px}
  .td-article-head{margin-bottom:1.2rem}
  .td-article-head .wp-block-post-title{font-size:1.75rem}
  .entry-content{font-size:1.125rem; line-height:1.72}
  .entry-content figure.wp-block-image,.entry-content figure.wp-block-video{
    margin-left:calc(-1 * var(--wp--style--root--padding-left)); margin-right:calc(-1 * var(--wp--style--root--padding-right))}
  .entry-content figure.wp-block-image img{border-radius:0; box-shadow:none; width:100%}
  .entry-content figcaption{padding:0 var(--wp--style--root--padding-left)}
  .entry-content table{display:block; overflow-x:auto; -webkit-overflow-scrolling:touch}
  .td-postnav{flex-direction:column; gap:.5rem}
  .td-postnav>div{width:100%}
  .td-postnav a{width:100%; box-sizing:border-box; min-height:50px; padding:.5rem .9rem; border:1px solid var(--td-giay-vien); border-radius:3px; background:var(--td-giay-sang)}
  .td-phahe{height:78vh; min-height:480px; border-radius:0; margin-left:calc(-1 * var(--wp--style--root--padding-left)); margin-right:calc(-1 * var(--wp--style--root--padding-right)); width:auto}
  .td-footer{margin-top:2.8rem; padding-top:2.2rem}
  .td-footer .wp-block-columns{gap:1.2rem!important}
  .td-footer .wp-block-column{flex-basis:100%!important}
  .td-footer .wp-block-site-logo img{width:56px; height:56px}
}
/* URL dài trong bài (bố hay dán link trần) phải bẻ được, nếu không tràn ngang trên điện thoại */
.entry-content a,.entry-content p{overflow-wrap:anywhere}
/* link chuyên mục / ngày trong dòng meta: vùng chạm ≥ 36px dù chữ nhỏ */
.td-meta a,.wp-block-post-terms a{display:inline-flex; align-items:center; min-height:36px; padding:0 .15rem}
/* tiêu đề thẻ 1 dòng: link inline chỉ cao 23px ⇒ nới vùng chạm bằng padding khối */
.td-card .wp-block-post-title a{display:block; padding:.35rem 0; margin:-.35rem 0}
/* ảnh có link bọc ngoài (bài cũ): <a> inline + ảnh 100% bị lệch 18px ⇒ tràn ngang; ép khối */
.entry-content figure.wp-block-image a{display:block}
.entry-content figure.wp-block-image img{display:block; max-width:100%}
/* ấn 鄧 ở chân trang — nhận diện lặp lại ở cuối mỗi trang */
.td-footer .wp-block-site-logo{margin-bottom:.6rem}
.td-footer .wp-block-site-logo img{width:64px; height:64px; border-radius:50%; box-shadow:0 0 0 2px var(--td-nau-dam),0 0 0 3px var(--td-vang-nhat)}
