/*
Theme Name: Tâm Học Dharma
Theme URI: https://tamhoc.org/
Author: Tâm Học
Description: Theme WordPress nhẹ, hiện đại dành cho website Phật học, kinh điển và pháp thoại. Thiết kế riêng cho Tâm Học, responsive, ưu tiên khả năng đọc và hiệu năng.
Version: 1.3.4
Requires at least: 5.8
Tested up to: 6.6
Requires PHP: 7.2
Text Domain: tamhoc-dharma
*/

:root{--td-bg:#fbf8f0;--td-paper:#fffdf8;--td-ink:#30271d;--td-muted:#746859;--td-gold:#a66f1f;--td-gold2:#d5a447;--td-brown:#5b3b1d;--td-line:#eadfc8;--td-green:#5e6f45;--td-radius:18px;--td-shadow:0 12px 35px rgba(74,48,20,.08);--td-max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--td-bg);color:var(--td-ink);font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1.75}a{color:var(--td-brown);text-decoration:none}a:hover{color:var(--td-gold)}img{max-width:100%;height:auto}.td-wrap{width:min(var(--td-max),calc(100% - 36px));margin:auto}.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}.skip-link:focus{clip:auto;width:auto;height:auto;background:#fff;padding:8px;z-index:99999}
.topbar{background:#3e2b18;color:#f4e7ce;font-family:Arial,sans-serif;font-size:14px}.topbar .td-wrap{display:flex;justify-content:space-between;gap:20px;padding:7px 0}.site-header{background:rgba(255,253,248,.96);border-bottom:1px solid var(--td-line);position:sticky;top:0;z-index:1000;backdrop-filter:blur(10px)}.branding-row{display:flex;align-items:center;gap:18px;padding:16px 0}.custom-logo{max-height:64px;width:auto}.site-branding{flex:1}.site-title{font-size:30px;font-weight:700;line-height:1.15;margin:0}.site-description{margin:4px 0 0;color:var(--td-muted);font:15px Arial,sans-serif}.lotus-mark{width:52px;height:52px;border:1px solid var(--td-gold2);border-radius:50%;display:grid;place-items:center;color:var(--td-gold);font-size:26px}.menu-toggle{display:none;border:1px solid var(--td-line);background:#fff;padding:9px 12px;border-radius:10px}.main-nav{border-top:1px solid var(--td-line);font-family:Arial,sans-serif}.main-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}.main-nav li{position:relative}.main-nav a{display:block;padding:13px 16px;font-weight:600;font-size:15px}.main-nav .sub-menu{position:absolute;display:none;min-width:240px;background:#fff;box-shadow:var(--td-shadow);border:1px solid var(--td-line);border-radius:0 0 12px 12px}.main-nav li:hover>.sub-menu{display:block}.main-nav .sub-menu a{padding:10px 14px}.header-search{margin-left:auto}.header-search input{border:1px solid var(--td-line);border-radius:999px;padding:9px 14px;width:190px;background:#fffdf8}
.hero{padding:42px 0 30px;background:radial-gradient(circle at 90% 0%,rgba(213,164,71,.18),transparent 34%),linear-gradient(180deg,#fffaf0,#fbf8f0)}.hero-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:24px}.hero-main,.hero-side-card,.card,.panel,.content-card{background:var(--td-paper);border:1px solid var(--td-line);border-radius:var(--td-radius);box-shadow:var(--td-shadow);overflow:hidden}.hero-main{min-height:430px;position:relative}.hero-main img{width:100%;height:430px;object-fit:cover;display:block;filter:brightness(.72)}.hero-overlay{position:absolute;inset:auto 0 0;padding:34px;color:#fff;background:linear-gradient(transparent,rgba(26,19,11,.9))}.eyebrow{font:700 12px Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#e9bd68}.hero-overlay h1{font-size:38px;line-height:1.2;margin:8px 0 10px}.hero-overlay a{color:#fff}.hero-side{display:grid;gap:18px}.hero-side-card{display:grid;grid-template-columns:120px 1fr;min-height:130px}.hero-side-card img{width:120px;height:100%;object-fit:cover}.hero-side-card .pad{padding:16px}.hero-side-card h3{font-size:19px;line-height:1.35;margin:5px 0}.meta{font:13px Arial,sans-serif;color:var(--td-muted)}
.section{padding:28px 0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px;border-bottom:1px solid var(--td-line);padding-bottom:10px}.section-title h2{font-size:28px;margin:0}.section-title h2:before{content:"✦";color:var(--td-gold);margin-right:10px}.section-title a{font:14px Arial,sans-serif}.category-pills{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.category-pill{background:#fff;border:1px solid var(--td-line);border-radius:15px;padding:18px 10px;text-align:center;box-shadow:0 6px 18px rgba(74,48,20,.05)}.category-pill .icon{display:block;font-size:25px;margin-bottom:7px;color:var(--td-gold)}.category-pill strong{display:block;font-size:16px}.category-pill small{font:12px Arial,sans-serif;color:var(--td-muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card-thumb{aspect-ratio:16/9;background:#eee7d8;overflow:hidden}.card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.card:hover img{transform:scale(1.035)}.card-body{padding:18px}.card h3{font-size:21px;line-height:1.4;margin:5px 0 8px}.excerpt{color:#63594c;font-size:16px;line-height:1.6}.home-two-col{display:grid;grid-template-columns:2fr 1fr;gap:24px}.list-post{display:grid;grid-template-columns:180px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid var(--td-line)}.list-post:last-child{border:0}.list-post img{width:180px;height:115px;object-fit:cover;border-radius:12px}.list-post h3{font-size:21px;line-height:1.35;margin:2px 0 6px}.panel{padding:22px}.quote-panel{background:#47311d;color:#f9ecd5}.quote-panel h3,.quote-panel a{color:#fff2da}.quote-panel blockquote{margin:12px 0;font-size:21px;font-style:italic}.rank-list{counter-reset:rank;list-style:none;margin:0;padding:0}.rank-list li{counter-increment:rank;padding:12px 0 12px 40px;border-bottom:1px solid var(--td-line);position:relative}.rank-list li:before{content:counter(rank);position:absolute;left:0;top:11px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#f4e7ce;color:var(--td-brown);font:bold 13px Arial}
.site-main-area{padding:34px 0}.layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px}.content-card{padding:28px}.archive-title,.entry-title{font-size:36px;line-height:1.25;margin-top:0}.entry-content{font-size:19px;line-height:1.9}.entry-content h2{font-size:29px;margin-top:1.5em}.entry-content h3{font-size:24px}.entry-content blockquote{margin:25px 0;padding:18px 24px;border-left:4px solid var(--td-gold);background:#fff8e9}.entry-content img{border-radius:12px}.post-nav{display:flex;justify-content:space-between;gap:20px;margin-top:30px;padding-top:20px;border-top:1px solid var(--td-line)}.breadcrumbs{font:13px Arial,sans-serif;color:var(--td-muted);margin-bottom:18px}.widget{background:#fffdf8;border:1px solid var(--td-line);border-radius:15px;padding:19px;margin-bottom:20px}.widget-title{font-size:20px;margin:0 0 12px}.widget ul{padding-left:20px}.pagination .nav-links{display:flex;gap:7px;flex-wrap:wrap}.page-numbers{background:#fff;border:1px solid var(--td-line);padding:7px 12px;border-radius:8px}.page-numbers.current{background:var(--td-brown);color:#fff}.comments-area{margin-top:30px}.comment-list{padding-left:24px}
.site-footer{margin-top:30px;background:#332316;color:#e7dac7}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:35px;padding:45px 0}.site-footer a{color:#f3e5cc}.site-footer h3{color:#fff;margin-top:0}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:16px 0;font:13px Arial,sans-serif;color:#c9b89e}.back-top{position:fixed;right:18px;bottom:18px;width:42px;height:42px;border-radius:50%;border:0;background:#5b3b1d;color:#fff;cursor:pointer;display:none}
@media(max-width:900px){body{font-size:17px}.hero-grid,.layout,.home-two-col{grid-template-columns:1fr}.hero-main img{height:390px}.category-pills{grid-template-columns:repeat(3,1fr)}.cards{grid-template-columns:repeat(2,1fr)}.header-search{display:none}.footer-grid{grid-template-columns:1fr 1fr}.layout aside{order:2}}
@media(max-width:680px){.td-wrap{width:min(100% - 24px,var(--td-max))}.topbar .td-wrap{display:block;text-align:center}.lotus-mark{display:none}.site-title{font-size:24px}.menu-toggle{display:block;margin-left:auto}.main-nav{display:none}.main-nav.is-open{display:block}.main-nav ul{display:block}.main-nav .sub-menu{position:static;display:block;box-shadow:none;border:0;padding-left:14px}.hero{padding-top:22px}.hero-main,.hero-main img{min-height:360px;height:360px}.hero-overlay{padding:24px}.hero-overlay h1{font-size:30px}.hero-side-card{grid-template-columns:105px 1fr}.hero-side-card img{width:105px}.category-pills{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:1fr}.list-post{grid-template-columns:110px 1fr}.list-post img{width:110px;height:85px}.list-post .excerpt{display:none}.content-card{padding:20px}.archive-title,.entry-title{font-size:29px}.entry-content{font-size:18px}.footer-grid{grid-template-columns:1fr}.post-nav{display:block}.post-nav>div{margin:8px 0}}

/* ===== Header & Navigation Upgrade 1.1 ===== */
.topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:38px}
.topbar-message{display:flex;align-items:center;gap:7px;white-space:nowrap}
.topbar-links{margin-left:auto;min-width:0}
.topbar-menu{display:flex;align-items:center;justify-content:flex-end;gap:2px;list-style:none;margin:0;padding:0}
.topbar-menu li{margin:0;padding:0}
.topbar-menu a{display:block;color:#f4e7ce;padding:7px 9px;font-size:13px;line-height:1.2}
.topbar-menu a:hover{color:#fff;background:rgba(255,255,255,.08)}

.site-header{box-shadow:0 4px 18px rgba(74,48,20,.04)}
.branding-row{min-height:92px}
.lotus-mark{text-decoration:none;flex:0 0 52px}
.branding-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.search-toggle,.menu-toggle{border:1px solid var(--td-line);background:#fffdf8;color:var(--td-brown);padding:9px 12px;border-radius:10px;font:600 14px Arial,sans-serif;cursor:pointer}
.search-toggle:hover,.menu-toggle:hover{border-color:var(--td-gold2);background:#fff8e9}
.search-toggle span,.menu-toggle span{margin-left:4px}
.header-search-panel{border-top:1px solid var(--td-line);background:#fffaf0;padding:12px 0}
.header-search-panel .search-form{display:flex;max-width:720px;margin:0 auto}
.header-search-panel label{flex:1}
.header-search-panel input[type=search]{width:100%;height:44px;border:1px solid var(--td-line);border-right:0;border-radius:10px 0 0 10px;padding:0 14px;font-size:16px;background:white}
.header-search-panel input[type=submit]{height:44px;border:0;border-radius:0 10px 10px 0;background:var(--td-brown);color:#fff;padding:0 18px;cursor:pointer}

.main-nav{background:#fffdf8}
.nav-inner{display:flex;align-items:stretch;width:min(var(--td-max),calc(100% - 36px));margin:auto;min-height:50px}
.nav-home{display:grid;place-items:center;flex:0 0 46px;font-size:21px;color:var(--td-gold);border-right:1px solid var(--td-line)}
.nav-home:hover{background:#fff7e6}
.menu-scroll{flex:1;min-width:0}
.main-nav .primary-menu{height:100%;align-items:stretch}
.main-nav .primary-menu>li>a{height:100%;display:flex;align-items:center;white-space:nowrap}
.main-nav .primary-menu>li.current-menu-item>a,.main-nav .primary-menu>li.current-menu-ancestor>a{color:var(--td-gold);background:#fff8e9}
.main-nav .menu-item-has-children>a{padding-right:29px}
.main-nav .menu-item-has-children>a:after{content:"⌄";font-size:11px;position:absolute;right:11px;top:50%;transform:translateY(-50%);opacity:.7}
.main-nav .sub-menu{top:100%;left:0;z-index:1001;padding:7px 0;min-width:255px;border-radius:0 0 13px 13px}
.main-nav .sub-menu .sub-menu{top:-8px;left:100%;border-radius:10px}
.main-nav .sub-menu li{width:100%}
.main-nav .sub-menu a{white-space:normal;line-height:1.4;border-bottom:1px solid #f4ecdd}
.main-nav .sub-menu li:last-child>a{border-bottom:0}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{display:block}
.submenu-toggle{display:none}
.desktop-search{display:flex;align-items:center;padding-left:10px;border-left:1px solid var(--td-line)}
.desktop-search .search-form{display:flex;align-items:center}
.desktop-search label{display:block}
.desktop-search input[type=search]{width:170px;transition:width .2s ease}
.desktop-search input[type=search]:focus{width:230px;outline:2px solid rgba(166,111,31,.18)}
.desktop-search input[type=submit]{display:none}

.topic-strip{background:#f4e9d3;border-top:1px solid #ead9ba;border-bottom:1px solid #dfcba7;font-family:Arial,sans-serif}
.topic-strip-inner{display:flex;align-items:center;gap:3px;overflow-x:auto;scrollbar-width:thin;padding:6px 0}
.topic-label{flex:0 0 auto;text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:11px;color:#7c5422;padding:6px 10px 6px 0;border-right:1px solid #d8bf94;margin-right:4px}
.topic-strip a{flex:0 0 auto;display:block;padding:6px 10px;border-radius:999px;font-size:13px;color:#5b3b1d;white-space:nowrap}
.topic-strip a:hover{background:#fff8e9;color:#9a651d}

@media(max-width:1000px){
  .desktop-search{display:none}
  .search-toggle{display:inline-flex;align-items:center}
  .main-nav a{padding-left:12px;padding-right:12px}
}
@media(min-width:1001px){.search-toggle{display:none}}

@media(max-width:680px){
  body.menu-open{overflow:hidden}
  .topbar-inner{display:block;padding:5px 0}
  .topbar-message{justify-content:center;font-size:12px;white-space:normal;text-align:center}
  .topbar-links{display:none}
  .branding-row{min-height:76px;padding:10px 0;gap:10px}
  .custom-logo{max-height:52px;max-width:120px}
  .site-description{display:none}
  .branding-actions{gap:5px}
  .search-toggle,.menu-toggle{display:inline-flex;align-items:center;padding:8px 9px}
  .search-toggle span{display:none}
  .menu-toggle span{display:none}
  .main-nav{display:none;position:fixed;left:0;right:0;top:auto;bottom:0;z-index:1100;background:#fffdf8;overflow-y:auto;max-height:calc(100vh - 115px);border-top:1px solid var(--td-line);box-shadow:0 -10px 30px rgba(74,48,20,.12)}
  .main-nav.is-open{display:block}
  .nav-inner{display:block;width:100%;min-height:0}
  .nav-home{display:none}
  .menu-scroll{width:100%}
  .main-nav ul{display:block;width:100%}
  .main-nav .primary-menu>li{border-bottom:1px solid var(--td-line)}
  .main-nav .primary-menu>li>a{display:block;height:auto;padding:13px 48px 13px 16px;font-size:15px}
  .main-nav .menu-item-has-children>a{padding-right:48px}
  .main-nav .menu-item-has-children>a:after{display:none}
  .submenu-toggle{display:grid;place-items:center;position:absolute;right:8px;top:7px;width:36px;height:36px;border:1px solid var(--td-line);border-radius:8px;background:#fff8e9;color:var(--td-brown);cursor:pointer;z-index:2}
  .main-nav .sub-menu{position:static!important;display:none!important;min-width:0;width:100%;box-shadow:none;border:0;border-top:1px solid #f0e5d2;border-radius:0;padding:4px 0 6px 14px;background:#faf5e9}
  .main-nav .submenu-open>.sub-menu{display:block!important}
  .main-nav .sub-menu .sub-menu{left:auto;top:auto;background:#f6eddd;padding-left:13px}
  .main-nav .sub-menu a{padding:10px 45px 10px 14px;border-bottom:1px solid #eee0c8;font-size:14px}
  .desktop-search{display:none}
  .topic-strip{position:relative}
  .topic-strip-inner{width:100%;padding-left:12px;padding-right:12px}
  .topic-label{position:sticky;left:0;background:#f4e9d3;z-index:2}
}


/* ===== Navigation Safety Upgrade 1.2 ===== */
/* Navbar desktop chỉ có 1 hàng; menu quá dài sẽ cuộn ngang thay vì phá layout. */
@media(min-width:681px){
  .main-nav .primary-menu{display:flex!important;flex-wrap:nowrap!important;align-items:stretch;width:max-content;min-width:100%}
  .main-nav .primary-menu>li{flex:0 0 auto}
  .menu-scroll{overflow-x:auto;overflow-y:visible;scrollbar-width:thin;overscroll-behavior-x:contain}
  .menu-scroll::-webkit-scrollbar{height:6px}
  .menu-scroll::-webkit-scrollbar-thumb{background:#d9c6a4;border-radius:10px}
  .main-nav .primary-menu>li>a{white-space:nowrap;max-width:270px;overflow:hidden;text-overflow:ellipsis}

  /* Dropdown dài: không bao giờ phủ toàn trang. */
  .main-nav .sub-menu{max-height:min(68vh,560px);overflow-y:auto;overflow-x:hidden;min-width:285px;max-width:380px}
  .main-nav .sub-menu a{font-size:14px}
  .main-nav .sub-menu .sub-menu{max-height:min(68vh,560px)}
}

/* Khi đăng nhập WordPress, sticky header nằm dưới admin bar. */
.admin-bar .site-header{top:32px}
@media(max-width:782px){.admin-bar .site-header{top:46px}}

/* Cảnh báo nhỏ trong Customizer chỉ dành cho quản trị viên nếu chưa gán menu. */
.td-menu-note{font:12px/1.4 Arial,sans-serif;color:#7a5a2b;background:#fff6df;border-bottom:1px solid #ead6ad;padding:6px 12px;text-align:center}


/* ===== Smart Dharma Navigation 1.3 ===== */
.mobile-nav-head,.nav-backdrop{display:none}
@media(min-width:681px){
  .site-header{overflow:visible}
  .main-nav{background:#fffdf8;border-top:1px solid var(--td-line);border-bottom:1px solid #eadfc8}
  .nav-inner{min-height:54px;align-items:stretch}
  .menu-scroll{overflow:visible!important;min-width:0}
  .main-nav .primary-menu{width:100%!important;min-width:0!important;height:54px;justify-content:flex-start;overflow:visible}
  .main-nav .primary-menu>li{height:54px;display:flex;align-items:stretch}
  .main-nav .primary-menu>li>a{font-size:14px;padding:0 15px;max-width:none!important;overflow:visible!important;text-overflow:clip!important;border-bottom:3px solid transparent;transition:.18s ease}
  .main-nav .primary-menu>li>a:hover,.main-nav .primary-menu>li.current-menu-item>a,.main-nav .primary-menu>li.current-menu-ancestor>a{background:#fff8e9;border-bottom-color:var(--td-gold);color:#8d5b17}
  .main-nav .td-mega>.td-mega-menu{left:0;top:54px;width:min(620px,calc(100vw - 48px));min-width:520px;max-width:620px;max-height:none;overflow:visible;padding:13px;display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;background:#fffdf8;border:1px solid #dfcfb2;border-top:3px solid var(--td-gold);border-radius:0 0 16px 16px;box-shadow:0 20px 48px rgba(67,43,20,.17)}
  .main-nav .td-mega:hover>.td-mega-menu,.main-nav .td-mega:focus-within>.td-mega-menu{display:grid}
  .main-nav .td-mega-menu li{width:auto;min-width:0}
  .main-nav .td-mega-menu a{border:0;border-radius:9px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:9px;font-weight:600;color:#4f3822}
  .main-nav .td-mega-menu a:hover{background:#f7eddc;color:#945f16}
  .main-nav .td-mega-menu small{font-size:11px;color:#9a8a76;font-weight:400;white-space:nowrap}
  .main-nav .td-mega-heading{grid-column:1/-1;border-bottom:1px solid #eee1cb;margin-bottom:4px;padding-bottom:7px}
  .main-nav .td-mega-heading a{color:#9a651d;font-size:13px;text-transform:uppercase;letter-spacing:.04em;background:#fff8e9}
  .desktop-search{flex:0 0 auto}
}
@media(max-width:1120px) and (min-width:681px){
  .main-nav .primary-menu>li>a{padding-left:10px;padding-right:10px;font-size:13px}
  .desktop-search input[type=search]{width:130px}
}
@media(max-width:680px){
  .nav-backdrop{position:fixed;inset:0;background:rgba(30,22,14,.48);z-index:1090;backdrop-filter:blur(2px)}
  body.menu-open .nav-backdrop{display:block}
  .main-nav{display:block!important;position:fixed;left:auto;right:0;top:0;bottom:0;width:min(390px,92vw);max-height:none;z-index:1100;transform:translateX(105%);transition:transform .24s ease;overflow-y:auto;box-shadow:-15px 0 40px rgba(28,18,8,.22);border:0}
  .admin-bar .main-nav{top:46px}
  .main-nav.is-open{transform:translateX(0)}
  .mobile-nav-head{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:15px 16px;background:#4a301a;color:#fff;border-bottom:1px solid rgba(255,255,255,.12)}
  .mobile-nav-head strong{font:700 16px Arial,sans-serif}
  .menu-close{width:38px;height:38px;border:1px solid rgba(255,255,255,.25);border-radius:9px;background:rgba(255,255,255,.08);color:#fff;font-size:25px;line-height:1;cursor:pointer}
  .main-nav .primary-menu{padding-bottom:26px}
  .main-nav .primary-menu>li>a{font-weight:700;color:#4d3520}
  .main-nav .td-mega-menu small{display:none}
  .main-nav .td-mega-heading a{color:#9a651d;font-weight:700}
}
