/*
Theme Name: Luật Nhân Quả
Author: luatnhanqua.biz
Description: Theme riêng cho luatnhanqua.biz — sơn mài đỏ son, video + bài viết. [LNQ_THEME_V1] 2026-10-12
Version: 1.1.3
Requires PHP: 8.0
Text Domain: luatnhanqua
*/
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/be-vietnam-pro-400-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/be-vietnam-pro-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/be-vietnam-pro-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/be-vietnam-pro-500-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/be-vietnam-pro-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/be-vietnam-pro-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/be-vietnam-pro-600-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/be-vietnam-pro-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/be-vietnam-pro-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/be-vietnam-pro-700-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/be-vietnam-pro-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Be Vietnam Pro';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/be-vietnam-pro-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant';font-style:italic;font-weight:500;font-display:swap;src:url(assets/fonts/cormorant-500i-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Cormorant';font-style:italic;font-weight:500;font-display:swap;src:url(assets/fonts/cormorant-500i-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant';font-style:italic;font-weight:500;font-display:swap;src:url(assets/fonts/cormorant-500i-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/cormorant-500-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Cormorant';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/cormorant-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/cormorant-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/cormorant-600-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Cormorant';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/cormorant-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/cormorant-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/cormorant-700-vietnamese.woff2) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB}
@font-face{font-family:'Cormorant';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/cormorant-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Cormorant';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/cormorant-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root{
  --then:#170D0B;--then-2:#22130F;--son:#8C1A13;--son-hi:#B5302A;
  --gold:#D3AE5E;--gold-dim:#8F7341;--paper:#F2E8D8;--paper-2:#E8DAC4;
  --ink:#2B1813;--mute-d:#BCA68C;--mute-l:#6F5447;
  --f-display:"Cormorant","Noto Serif",Georgia,serif;
  --f-body:"Be Vietnam Pro",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --wrap:1180px;
  --lotus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3c-2 3-3 6-3 9s1.2 5 3 6c1.8-1 3-3 3-6s-1-6-3-9zm-7 6c0 4 2 8 6 9.5C8 16 7.3 13 7.6 10.2 6.8 9.7 5.9 9.3 5 9zm14 0c-.9.3-1.8.7-2.6 1.2.3 2.8-.4 5.8-3.4 8.3 4-1.5 6-5.5 6-9.5zM3 19.5h18v1.5H3z' fill='black'/%3E%3C/svg%3E");
  color-scheme:dark;
}
*{box-sizing:border-box}
html{background:var(--then);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--then);color:var(--paper);font-family:var(--f-body);font-size:15px;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:3px}
h1,h2,h3{font-family:var(--f-display);font-weight:600;text-wrap:balance;margin:0;line-height:1.15}
[hidden]{display:none!important}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:20px}
.label{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--gold)}
.meta{font-size:12.5px;color:var(--mute-d);font-variant-numeric:tabular-nums}
.light{background:var(--paper);color:var(--ink)}
.light .meta{color:var(--mute-l)}
.light .label{color:var(--son)}
.light h1,.light h2,.light h3{color:var(--ink)}

/* đầu trang */
.site-header{background:var(--then);border-bottom:1px solid var(--gold-dim);position:relative;z-index:20}
.hd{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding-block:16px 12px}
.brand{display:flex;align-items:center;gap:12px}
.brand svg{width:44px;height:44px;flex:none}
.brand-name{font-family:var(--f-display);font-size:28px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1;color:var(--gold)}
.brand-sub{font-size:12px;color:var(--mute-d);margin-top:5px;letter-spacing:.04em}
.nav-main ul{display:flex;flex-wrap:wrap;gap:4px 20px;list-style:none;margin:0;padding:0;font-size:14.5px;font-weight:500}
.nav-main a{display:block;padding-block:4px;border-bottom:1.5px solid transparent}
.nav-main a:hover,.nav-main .current-menu-item>a,.nav-main .current-cat>a{border-color:var(--son-hi);color:var(--gold)}
.hd-r{display:flex;align-items:center;gap:14px}
.lunar{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--mute-d);min-height:22px}
.lunar strong{color:var(--paper);font-weight:600}
.moon{width:22px;height:22px;border-radius:50%;flex:none;background:radial-gradient(circle at 72% 50%,var(--then) 58%,transparent 59%),var(--gold);box-shadow:0 0 12px rgba(211,174,94,.45)}
.ibtn{display:grid;place-items:center;font:inherit;background:transparent;border:1px solid var(--gold-dim);color:var(--gold);width:40px;height:40px;border-radius:6px;cursor:pointer}
.ibtn svg{width:20px;height:20px}
.searchbar{padding-block:0 14px}
.sbox{display:flex;border:1px solid var(--gold);border-radius:6px;overflow:hidden;background:rgba(0,0,0,.25)}
.sbox input{flex:1;min-width:0;font:inherit;font-size:16px;color:var(--paper);background:transparent;border:0;padding:12px 14px}
.sbox input::placeholder{color:var(--mute-d)}
.sbox button{font:inherit;font-weight:600;border:0;background:var(--gold);color:var(--then);padding:0 18px;cursor:pointer}
.light .sbox{background:#fff;border-color:var(--son)}
.light .sbox input{color:var(--ink)}
.light .sbox input::placeholder{color:var(--mute-l)}
.light .sbox button{background:var(--son);color:var(--paper)}

/* ảnh / khung media */
.ph{position:relative;overflow:hidden;background:var(--then-2);border:1px solid rgba(211,174,94,.35);border-radius:4px}
.ph img{width:100%;height:100%;object-fit:cover}
.ph.empty::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 45% at 30% 40%,rgba(211,174,94,.45) 0,transparent 70%),radial-gradient(90% 70% at 70% 105%,var(--son) 0 35%,transparent 72%)}
.light .ph{border-color:var(--gold-dim)}
.r169{aspect-ratio:16/9}.r916{aspect-ratio:9/16}.r32{aspect-ratio:3/2}.r11{aspect-ratio:1/1}.r1610{aspect-ratio:16/10}
.src{position:absolute;left:8px;top:8px;z-index:2;font-size:10.5px;font-weight:600;letter-spacing:.06em;padding:3px 7px;border-radius:3px;background:rgba(12,7,6,.78);color:var(--paper);display:flex;align-items:center;gap:5px}
.src i{width:7px;height:7px;border-radius:50%;display:inline-block}
.src.youtube i{background:#E5352B}.src.tiktok i{background:#3EDCD6}.src.facebook i{background:#3B82F6}.src.file i,.src.text i{background:var(--gold)}
.play{position:absolute;left:50%;top:50%;z-index:2;width:50px;height:50px;margin:-25px 0 0 -25px;border-radius:50%;background:rgba(23,13,11,.6);border:1px solid var(--gold);display:grid;place-items:center;transition:transform .2s}
.play::after{content:"";border-left:14px solid var(--gold);border-top:9px solid transparent;border-bottom:9px solid transparent;margin-left:4px}
.dur{position:absolute;right:8px;bottom:8px;z-index:2;background:rgba(12,7,6,.8);color:var(--paper);font-size:11.5px;padding:2px 6px;border-radius:3px;font-variant-numeric:tabular-nums}
a:hover .play{transform:scale(1.08)}

/* trình phát (facade) */
.vf{position:relative;display:block;width:100%;padding:0;border:0;background:#000;cursor:pointer;color:inherit;font:inherit}
.vf img{width:100%;height:100%;object-fit:cover;opacity:.92}
.vf .play{width:68px;height:68px;margin:-34px 0 0 -34px}
.vf iframe,.vf video{position:absolute;inset:0;width:100%;height:100%;border:0}
.vf-note{font-size:12.5px;color:var(--mute-d);margin-top:8px}

/* hero */
.hero{position:relative;overflow:hidden;background:radial-gradient(70% 90% at 78% 30%,#3B150F 0,var(--then) 70%)}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero .wrap{position:relative;display:grid;grid-template-columns:1.6fr 1fr;gap:40px;padding-block:34px 44px}
.hero .wrap>*{min-width:0}
.feature .label{display:block;margin-top:20px}
.feature h1{font-size:clamp(28px,4vw,48px);margin-top:8px}
.feature p{color:var(--mute-d);max-width:62ch;margin:12px 0 10px;font-size:16px}
.verse{position:relative;padding:30px 26px 26px;display:flex;flex-direction:column;gap:14px;align-self:start;border:1px solid var(--gold-dim);background:linear-gradient(180deg,rgba(140,26,19,.28),rgba(23,13,11,.6))}
.verse::before{content:"";position:absolute;inset:6px;border:1px solid rgba(211,174,94,.25);pointer-events:none}
.halo{width:74px;height:74px;margin:0 auto 2px;border-radius:50%;background:radial-gradient(circle,rgba(211,174,94,.55) 0,rgba(211,174,94,.12) 55%,transparent 70%);display:grid;place-items:center}
.halo svg{width:44px;height:44px}
.verse blockquote{margin:0;font-family:var(--f-display);font-size:23px;line-height:1.45;font-style:italic;font-weight:500;text-align:center}
.verse cite{font-style:normal;font-size:12.5px;color:var(--mute-d);text-align:center}
.verse hr{border:0;border-top:1px solid var(--gold-dim);margin:6px 0}
.side-list{display:flex;flex-direction:column;gap:13px;margin:0;padding:0;list-style:none;counter-reset:n}
.side-list a{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:baseline}
.side-list a::before{counter-increment:n;content:counter(n);font-family:var(--f-display);font-size:22px;color:var(--gold);font-weight:700}
.side-list span{font-weight:500;font-size:14.5px;line-height:1.4}
.side-list a:hover span{color:var(--gold)}

/* dải */
.band{padding-block:42px}
.band.son{background:linear-gradient(180deg,#5E120D,var(--son) 40%,#6A140E);border-block:1px solid var(--gold-dim)}
.band.son .meta{color:#E3C9A8}
.band.abyss{background:radial-gradient(80% 120% at 50% 0%,#2A0A07 0,#0D0605 70%);border-block:1px solid #4A1610}
.band.dark{border-top:1px solid var(--gold-dim)}
.band-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 20px;margin-bottom:24px}
.band-head h2{font-size:34px;display:flex;align-items:center;gap:14px}
.band-head h2::before{content:"";width:22px;height:22px;flex:none;background:var(--gold);-webkit-mask:var(--lotus) center/contain no-repeat;mask:var(--lotus) center/contain no-repeat}
.light .band-head h2::before{background:var(--son)}
.band-head a{font-size:13.5px;font-weight:500;color:var(--gold)}
.light .band-head a{color:var(--son)}

/* chấn động */
.shock{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}
.shock a{position:relative;display:block;overflow:hidden;border:1px solid #5A1A12;border-radius:4px;min-height:180px;background:var(--then-2)}
.shock a:first-child{grid-row:span 2;min-height:380px}
.shock a img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shock .cap{position:absolute;inset:auto 0 0 0;padding:48px 18px 16px;background:linear-gradient(180deg,transparent,rgba(8,3,2,.92) 55%)}
.flag{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.12em;color:var(--paper);background:var(--son-hi);padding:3px 8px;border-radius:2px}
.shock h3{font-family:var(--f-body);font-weight:700;font-size:18px;line-height:1.35;margin-top:8px;color:var(--paper)}
.shock a:first-child h3{font-family:var(--f-display);font-size:clamp(26px,3vw,36px);line-height:1.15}
.shock a:hover h3{color:var(--gold)}

/* video */
.shorts{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(170px,1fr);gap:16px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}
.vcard{scroll-snap-align:start;display:flex;flex-direction:column;gap:9px;min-width:0}
.vcard h3{font-family:var(--f-body);font-size:14px;font-weight:600;line-height:1.4}
.vcard:hover h3{color:var(--gold)}
.light .vcard:hover h3{color:var(--son)}
.vgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:26px 14px}
.hgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 20px}
.hgrid.feat{grid-template-columns:1.6fr 1fr}
.hgrid.feat .vcard:first-child{grid-row:span 2}
.hgrid.feat .vcard:first-child h3{font-family:var(--f-display);font-size:28px;line-height:1.2}
.hgrid .vcard h3{font-size:15.5px}

/* bài viết */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 28px}
.post-card{display:flex;flex-direction:column;gap:10px;min-width:0}
.post-card h3{font-size:24px}
.post-card p{margin:0;color:var(--mute-l);font-size:14px}
.post-card:hover h3{color:var(--son)}

/* giấc mơ */
.dream{display:grid;grid-template-columns:1fr 1.2fr;gap:36px;align-items:start}
.dream>*{min-width:0}
.dream-search{display:flex;flex-direction:column;gap:14px}
.dream-search p{margin:0;color:var(--mute-l);max-width:46ch}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font:inherit;font-size:13px;font-weight:500;padding:6px 14px;border-radius:999px;border:1px solid var(--gold-dim);background:transparent;color:inherit;cursor:pointer;white-space:nowrap;display:inline-block}
.chip.on,.chip[aria-pressed="true"]{background:var(--son);color:var(--paper);border-color:var(--son)}
.dlist{list-style:none;margin:0;padding:0;border-top:1px solid var(--gold-dim)}
.dlist li{border-bottom:1px solid var(--gold-dim)}
.dlist a{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding-block:12px}
.dlist b{font-weight:600}
.dlist small{display:block;font-size:13px;color:var(--mute-l)}
.nums{display:flex;gap:6px;justify-content:flex-end}
.num{font-family:var(--f-display);font-weight:700;font-size:20px;min-width:42px;height:42px;padding-inline:4px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--son);color:var(--son);font-variant-numeric:tabular-nums;line-height:1}
.fine{font-size:12px;color:var(--mute-l)}

/* hỏi đáp */
.faq{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 32px}
.faq details{border-top:1px solid var(--gold-dim);padding-block:14px}
.faq summary{cursor:pointer;font-family:var(--f-display);font-size:21px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold);font-family:var(--f-body)}
.faq details[open] summary::after{content:"−"}
.faq p{color:var(--mute-d);margin:8px 0 0;max-width:60ch}

/* chuyên mục */
.cathero{background:radial-gradient(60% 120% at 85% 0%,#4A1710 0,var(--then) 70%);border-bottom:1px solid var(--gold-dim)}
.cathero .wrap{padding-block:30px 26px;display:flex;flex-direction:column;gap:10px}
.crumb{font-size:12.5px;color:var(--mute-d)}
.crumb a{color:var(--gold)}
.light .crumb{color:var(--mute-l)}
.light .crumb a{color:var(--son)}
.cathero h1{font-size:clamp(34px,5vw,54px)}
.cathero p{margin:0;color:var(--mute-d);max-width:64ch}
.catbody .wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:44px;padding-block:32px 48px}
.lead{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:center;padding-bottom:26px;border-bottom:1px solid var(--gold-dim)}
.lead h2{font-size:32px;margin-top:6px}
.lead p{color:var(--mute-l);margin:10px 0 8px}
.rows{list-style:none;margin:0;padding:0}
.rows li{border-bottom:1px solid var(--paper-2)}
.rows a{display:grid;grid-template-columns:200px 1fr;gap:20px;padding-block:20px;align-items:start}
.rows h3{font-size:23px}
.rows p{margin:6px 0;color:var(--mute-l);font-size:14px}
.rows a:hover h3{color:var(--son)}
.pager{margin-top:26px}
.pager .nav-links{display:flex;flex-wrap:wrap;gap:6px}
.pager .page-numbers{min-width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--gold-dim);border-radius:4px;font-weight:600;font-size:14px;padding-inline:10px}
.pager .current{background:var(--son);color:var(--paper);border-color:var(--son)}
.pager .dots{border:0}
.aside{display:flex;flex-direction:column;gap:22px}
.aside .box{border:1px solid var(--gold-dim);padding:20px;background:var(--paper)}
.aside h3{font-size:22px;margin-bottom:12px}
.aside ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.aside ol a{font-weight:500;font-size:14px;line-height:1.4}
.aside ol a:hover{color:var(--son)}
.mini{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.empty-note{padding:30px 0;color:var(--mute-l)}

/* bài chữ */
.article .wrap{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;padding-block:30px 56px}
.article .wrap>*{min-width:0}
.article h1{font-size:clamp(30px,4.4vw,50px)}
.byline{display:flex;flex-wrap:wrap;gap:6px 16px;margin:14px 0 24px;font-size:13px;color:var(--mute-l)}
.article .vf-wrap,.article .cover{margin:0 0 26px}
.prose{font-size:17px;line-height:1.8;max-width:68ch}
.prose>*{margin-block:0 1.1em}
.prose>p:first-of-type::first-letter{float:left;font-family:var(--f-display);font-weight:700;font-size:4.2em;line-height:.85;margin:.06em .1em 0 0;color:var(--son)}
.prose h2{font-size:30px;margin-top:1.4em}
.prose h3{font-size:24px;margin-top:1.2em}
.prose a{color:var(--son);text-decoration:underline;text-underline-offset:2px}
.prose blockquote{padding:18px 22px;border-left:3px solid var(--son);background:var(--paper-2);font-family:var(--f-display);font-size:1.3em;line-height:1.5;font-style:italic;margin-inline:0}
.prose figure{margin-inline:0}
.prose img{border-radius:4px}
.prose figcaption{font-size:13px;color:var(--mute-l)}
.prose iframe{max-width:100%}
.related{border-top:1px solid var(--gold-dim);padding-top:26px;margin-top:20px}
.related h2{font-size:26px;margin-bottom:16px}
.related .grid{gap:20px}
.related .post-card h3{font-size:19px}
.tags{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:13.5px;color:var(--son);margin-top:10px}

/* bài video */
.watch{background:radial-gradient(70% 60% at 30% 0%,#3B150F 0,var(--then) 70%)}
.watch .wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;padding-block:24px 48px}
.watch .wrap>*{min-width:0}
.player{background:#000;border:1px solid var(--gold-dim);border-radius:6px;display:grid;place-items:center;margin-bottom:18px;overflow:hidden}
.player .vf.r916{width:min(100%,380px)}
.watch h1{font-size:clamp(28px,3.6vw,42px);margin-top:6px}
.watch .byline{color:var(--mute-d);margin:10px 0 14px}
.wsum{border-block:1px solid var(--gold-dim);padding-block:10px;margin:4px 0 14px;max-width:68ch}
.wsum summary{cursor:pointer;font-weight:600;color:var(--gold);font-size:14px}
.wsum p{margin:8px 0 0;color:var(--mute-d);font-size:14.5px}
.watch .prose{color:var(--paper)}
.watch .prose>p:first-of-type::first-letter{all:unset}
.watch .prose a{color:var(--gold)}
.watch .tags{color:var(--gold)}
.wnext h2{font-size:24px;margin-bottom:12px}
.wnext ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.wnext ol a{display:grid;grid-template-columns:84px 1fr;gap:12px;align-items:start}
.wnext b{display:block;font-weight:600;font-size:14.5px;line-height:1.4}
.wnext ol a:hover b{color:var(--gold)}
.wmore{display:inline-block;margin-top:14px;color:var(--gold);font-weight:500;font-size:13.5px}

/* trang giấc mơ */
.az{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:18px}
.az button{font:inherit;font-size:13px;font-weight:600;width:34px;height:34px;border-radius:4px;border:1px solid var(--gold-dim);background:transparent;color:var(--ink);cursor:pointer}
.az button[aria-pressed="true"]{background:var(--son);color:var(--paper);border-color:var(--son)}
.dtable{width:100%;border-collapse:collapse}
.dtable th{text-align:left;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute-l);font-weight:600;padding:8px 10px;border-bottom:2px solid var(--son)}
.dtable td{padding:14px 10px;border-bottom:1px solid var(--paper-2);vertical-align:middle}
.dtable td:first-child a{font-weight:600;font-size:16px}
.dtable td:first-child a:hover{color:var(--son)}
.dtable td.m{color:var(--mute-l);font-size:14px}
.dream-hero{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin:14px 0 24px}
.dream-hero .num{min-width:64px;height:64px;font-size:30px}

/* chân trang */
.site-footer{border-top:1px solid var(--gold-dim)}
.site-footer .wrap{padding-block:34px 48px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;color:var(--mute-d);font-size:13px}
.site-footer .brand-name{font-size:20px}
.site-footer a:hover{color:var(--gold)}
.tabbar{display:none}

@media (max-width:920px){
  .hero .wrap,.catbody .wrap,.article .wrap,.watch .wrap,.dream{grid-template-columns:1fr}
  .grid{grid-template-columns:repeat(2,1fr)}
  .vgrid{grid-template-columns:repeat(3,1fr)}
  .lunar-h{display:none}
}
@media (max-width:640px){
  body{padding-bottom:calc(58px + env(safe-area-inset-bottom,0px))}
  .wrap{padding-inline:16px}
  .site-header{position:sticky;top:0}
  .hd{flex-wrap:nowrap;padding-block:10px}
  .brand svg{width:34px;height:34px}
  .brand-name{font-size:19px;letter-spacing:.08em}
  .brand-sub,.nav-main{display:none}
  .hero .wrap{padding-block:18px 26px;gap:22px}
  .feature h1{font-size:28px}
  .feature p{font-size:15px}
  .verse{padding:22px 18px}
  .verse blockquote{font-size:20px}
  .verse .halo{width:56px;height:56px}
  .verse>.label,.verse hr,.verse .side-list{display:none}
  .band{padding-block:30px}
  .band-head{margin-bottom:16px}
  .band-head h2{font-size:26px;gap:10px}
  .band-head h2::before{width:18px;height:18px}
  .shock{grid-template-columns:1fr}
  .shock a:first-child{grid-row:auto;min-height:260px}
  .shock a{min-height:150px}
  .shorts{grid-auto-columns:44%;gap:10px;margin-inline:-16px;padding-inline:16px;scroll-padding-inline:16px}
  .grid{grid-template-columns:1fr;gap:0}
  .grid .post-card{display:grid;grid-template-columns:116px 1fr;column-gap:14px;row-gap:4px;padding-block:14px;border-bottom:1px solid var(--paper-2);align-content:start}
  .grid .post-card .ph{grid-row:1/span 3;aspect-ratio:1/1}
  .grid .post-card h3{font-size:19px}
  .grid .post-card p{display:none}
  .vgrid{grid-template-columns:repeat(2,1fr);gap:18px 10px}
  .hgrid,.hgrid.feat{grid-template-columns:1fr}
  .hgrid.feat .vcard:first-child{grid-row:auto}
  .hgrid.feat .vcard:first-child h3{font-size:23px}
  .hgrid .vcard:not(:first-child){display:grid;grid-template-columns:140px 1fr;column-gap:12px;align-content:start}
  .hgrid .vcard:not(:first-child) .ph{grid-row:span 2}
  .hgrid .vcard:not(:first-child) h3{font-size:14.5px}
  .faq{grid-template-columns:1fr}
  .faq summary{font-size:19px}
  .num{min-width:36px;height:36px;font-size:17px}
  .cathero .wrap{padding-block:20px}
  .cathero .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .lead{grid-template-columns:1fr}
  .lead h2{font-size:26px}
  .rows a{grid-template-columns:110px 1fr;gap:14px;padding-block:14px}
  .rows .ph{aspect-ratio:1/1}
  .rows h3{font-size:18px}
  .rows p{display:none}
  .dtable th:nth-child(2),.dtable td.m{display:none}
  .dtable td{padding:12px 6px}
  .article .wrap{padding-block:18px 36px;gap:30px}
  .article h1{font-size:28px}
  .article .vf-wrap,.article .cover{margin-inline:-16px}
  .article .vf-wrap .ph,.article .cover .ph{border-radius:0;border-inline:0}
  .vf-note{padding-inline:16px}
  .prose{font-size:16.5px;line-height:1.75}
  .prose h2{font-size:25px}
  .related .grid .post-card{grid-template-columns:96px 1fr}
  .watch .wrap{padding-block:0 32px;gap:26px}
  .player{margin-inline:-16px;border-radius:0;border-inline:0}
  .player .vf.r916{width:min(100%,calc(72vh*9/16))}
  .watch h1{font-size:26px}
  .wnext ol{display:grid;grid-auto-flow:column;grid-auto-columns:40%;overflow-x:auto;gap:10px}
  .wnext ol a{grid-template-columns:1fr}
  .tabbar{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:30;background:#0F0807;border-top:1px solid var(--gold-dim);padding-bottom:env(safe-area-inset-bottom,0px)}
  .tabbar>a,.tabbar>button{font:inherit;background:transparent;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px 7px;font-size:11px;color:var(--mute-d)}
  .tabbar>a.on,.tabbar>button[aria-expanded="true"]{color:var(--gold)}
  .tabbar svg{width:22px;height:22px}
  .sheet{position:absolute;left:0;right:0;bottom:100%;background:var(--then);border-top:1px solid var(--gold-dim);padding:14px 16px 10px;box-shadow:0 -12px 30px rgba(0,0,0,.5)}
  .sheet ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
  .sheet a{display:block;padding:12px;border:1px solid var(--gold-dim);border-radius:6px;font-weight:500;font-size:14.5px}
  .sheet .lunar{padding-top:10px}
  .site-footer .wrap{padding-bottom:28px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.article .vf-wrap .vf.r916{width:min(100%,360px)}
.article .vf-wrap .ph{border:0}
/* [LNQ_THEME_V1.0.1] số thẳng hàng cho con số giấc mơ; tiêu đề video nhỏ ở cột phải */
.num{font-variant-numeric:lining-nums tabular-nums}
.aside .vcard h3{font-family:var(--f-body);font-size:13.5px;margin:0;line-height:1.35}
.aside .vcard .meta{font-size:12px}

/* [LNQ_PERF_V1] bụi vàng tĩnh cho điện thoại (không tốn CPU); máy tính có canvas động */
@media (max-width:1023px),(pointer:coarse){
  .hero{background:
    radial-gradient(1.5px 1.5px at 12% 22%,rgba(211,174,94,.55),transparent 60%),
    radial-gradient(1.2px 1.2px at 28% 64%,rgba(211,174,94,.4),transparent 60%),
    radial-gradient(1.8px 1.8px at 47% 12%,rgba(211,174,94,.5),transparent 60%),
    radial-gradient(1.2px 1.2px at 63% 48%,rgba(211,174,94,.35),transparent 60%),
    radial-gradient(1.6px 1.6px at 82% 30%,rgba(211,174,94,.5),transparent 60%),
    radial-gradient(1.2px 1.2px at 90% 72%,rgba(211,174,94,.4),transparent 60%),
    radial-gradient(1.4px 1.4px at 38% 88%,rgba(211,174,94,.35),transparent 60%),
    radial-gradient(70% 90% at 78% 30%,#3B150F 0,var(--then) 70%)}
}

/* [LNQ_THUMB_ORDER_V1] ảnh bìa tự tạo (có chữ): hiện trọn trong khung dọc/vuông thay vì cắt mất chữ */
.ph.ac{background:radial-gradient(80% 60% at 50% 100%,#6a140e 0,#22130F 70%)}
.ph.ac img{object-fit:contain}
.ph.ac.r169 img,.ph.ac.r1610 img{object-fit:cover}
.shock .shock-bg{position:absolute;inset:0;background:radial-gradient(60% 50% at 70% 25%,rgba(181,48,42,.55),transparent 70%),radial-gradient(90% 70% at 20% 110%,#000 0 40%,transparent 75%),#1a0b08}
