/*
Theme Name: Hou Nav Lite
Theme URI: https://hou.fyi/
Author: Hou.fyi
Description: 為 hou.fyi 量身打造的輕量經典 WordPress 主題。保留 OneNav 類型的左側導覽、卡片版型與傳統編輯器相容性，並針對大量文章、Tutor LMS、WooCommerce 與自訂外掛做效能友善設計。
Version: 2.6.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: hou-nav-lite
*/

:root{
  --hou-accent:#ff711a;
  --hou-accent-hover:#cb2908;
  --hou-bg:#f2f4f7;
  --hou-card:#fff;
  --hou-text:#333741;
  --hou-muted:#73767d;
  --hou-border:#e6e8ea;
  --hou-sidebar:150px;
  --hou-topbar:72px;
  --hou-max:1500px;
  --hou-content-max:1260px;
  --hou-archive-columns:4;
  --hou-radius:18px;
  --hou-shadow:0 6px 24px rgba(16,24,40,.06);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--hou-bg);color:var(--hou-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC","PingFang TC",Arial,sans-serif;line-height:1.7}
a{color:var(--hou-accent);text-decoration:none}
a:hover{color:var(--hou-accent-hover)}
img{max-width:100%;height:auto}
button,input,select,textarea{font:inherit}
.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}

.hou-layout{min-height:100vh}
.hou-sidebar-nav{position:fixed;inset:0 auto 0 0;width:var(--hou-sidebar);background:#fff;border-right:1px solid var(--hou-border);z-index:60;display:flex;flex-direction:column;overflow-y:auto}
.hou-brand{min-height:var(--hou-topbar);display:flex;align-items:center;justify-content:center;padding:12px;border-bottom:1px solid var(--hou-border)}
.hou-brand img{max-height:46px;width:auto}
.hou-brand-text{font-weight:900;font-size:21px;color:var(--hou-accent);line-height:1.2;text-align:center}
.hou-side-menu{padding:12px 8px 28px}
.hou-side-menu ul{list-style:none;padding:0;margin:0}
.hou-side-menu li{margin:3px 0}
.hou-side-menu a{display:flex;align-items:center;min-height:42px;padding:9px 12px;border-radius:12px;color:#484b4f;font-size:15px;font-weight:700;line-height:1.35}
.hou-side-menu a:hover,.hou-side-menu .current-menu-item>a,.hou-side-menu .current-menu-ancestor>a{background:rgba(255,113,26,.1);color:var(--hou-accent)}
.hou-side-menu .sub-menu{padding-left:10px}
.hou-side-menu .sub-menu a{font-size:14px;font-weight:600;min-height:36px}

.hou-site-shell{margin-left:var(--hou-sidebar);min-width:0}
.hou-topbar{position:sticky;top:0;z-index:50;height:var(--hou-topbar);background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--hou-border);display:flex;align-items:center;gap:14px;padding:0 22px}
.admin-bar .hou-topbar{top:32px}
.hou-mobile-toggle{display:none;border:0;background:transparent;font-size:26px;cursor:pointer;padding:8px}
.hou-top-title{font-size:18px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:32vw}
.hou-top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.hou-search-toggle,.hou-account-link{border:1px solid var(--hou-border);background:#fff;border-radius:999px;padding:9px 14px;color:#484b4f;font-weight:700;cursor:pointer}
.hou-search-panel{position:fixed;inset:var(--hou-topbar) 0 auto var(--hou-sidebar);z-index:55;background:#fff;border-bottom:1px solid var(--hou-border);padding:18px 24px;box-shadow:var(--hou-shadow);display:none}
.admin-bar .hou-search-panel{top:calc(var(--hou-topbar) + 32px)}
.hou-search-panel.is-open{display:block}
.hou-search-panel form{max-width:760px;margin:auto;display:flex;gap:10px}
.hou-search-panel input[type=search]{flex:1;padding:13px 16px;border:1px solid var(--hou-border);border-radius:999px;font-size:17px}
.hou-search-panel button{border:0;border-radius:999px;background:var(--hou-accent);color:#fff;font-weight:800;padding:0 22px;cursor:pointer}

.hou-main{max-width:var(--hou-max);margin:0 auto;padding:24px}
.hou-main-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}
.hou-main-grid.no-sidebar{grid-template-columns:minmax(0,1fr)}
.hou-content{min-width:0}
.hou-card,.card{background:var(--hou-card);border:1px solid var(--hou-border);border-radius:var(--hou-radius);box-shadow:var(--hou-shadow)}
.hou-article{padding:26px 30px}
.hou-page-title{font-size:32px;line-height:1.35;margin:0 0 18px;background:#e60012;color:#fff;display:inline-block;padding:12px 15px;border-radius:5px;letter-spacing:1px}
.hou-meta{color:var(--hou-muted);font-size:14px;margin-bottom:18px;display:flex;gap:10px;flex-wrap:wrap}
.hou-breadcrumb{font-size:14px;color:var(--hou-muted);margin:0 0 14px;display:flex;align-items:center;flex-wrap:wrap;gap:0;line-height:1.6}
.hou-breadcrumb a{color:var(--hou-muted)}
.hou-breadcrumb a:hover{color:var(--hou-accent)}
.hou-breadcrumb span+span:before{content:"›";padding:0 8px;color:#a5a8aa}
.hou-breadcrumb .hou-breadcrumb-current{color:#4c5057;font-weight:700}
.hou-entry-content{font-size:20px;line-height:1.8;overflow-wrap:anywhere}
.hou-entry-content:after{content:"";display:block;clear:both}
.hou-entry-content p{margin:0 0 1.25em}
.hou-entry-content ul,.hou-entry-content ol{padding-left:1.5em}
.hou-entry-content blockquote{margin:1.5em 0;padding:14px 18px;border-left:4px solid var(--hou-accent);background:#fff7f2;border-radius:0 10px 10px 0}
.hou-entry-content table{width:100%;border-collapse:collapse;display:block;overflow-x:auto}
.hou-entry-content th,.hou-entry-content td{border:1px solid var(--hou-border);padding:10px 12px}
.hou-entry-content pre{overflow:auto;padding:16px;border-radius:12px;background:#111827;color:#f9fafb}

.hou-sidebar{position:sticky;top:calc(var(--hou-topbar) + 20px);display:grid;gap:16px}
.admin-bar .hou-sidebar{top:calc(var(--hou-topbar) + 52px)}
.hou-sidebar .widget,.io-sidebar-widget{background:#fff;border:1px solid var(--hou-border);border-radius:var(--hou-radius);padding:18px;box-shadow:var(--hou-shadow)}
.hou-sidebar .widget-title,.widget-header h3{font-size:18px;margin:0 0 12px;font-weight:900}
.hou-sidebar ul{margin:0;padding-left:1.2em}

.hou-post-grid{display:grid;grid-template-columns:repeat(var(--hou-archive-columns,4),minmax(0,1fr));gap:14px}
.hou-post-card{background:#fff;border:1px solid var(--hou-border);border-radius:16px;overflow:hidden;box-shadow:var(--hou-shadow);display:flex;flex-direction:column;min-width:0}
.hou-post-card-thumb{display:block;aspect-ratio:16/9;background:#eef0f3;overflow:hidden}
.hou-post-card-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.hou-post-card-body{padding:15px 16px 17px}
.hou-post-card-title{font-size:18px;line-height:1.45;margin:0 0 8px;font-weight:900}
.hou-post-card-title a{color:#333741}
.hou-post-card-title a:hover{color:var(--hou-accent)}
.hou-post-card-excerpt{font-size:14px;color:var(--hou-muted);margin:0}
.hou-section-title{font-size:26px;margin:0 0 16px;font-weight:900}
.hou-pagination{margin-top:24px}.hou-pagination .nav-links{display:flex;gap:8px;flex-wrap:wrap}.hou-pagination .page-numbers{background:#fff;border:1px solid var(--hou-border);border-radius:9px;padding:7px 11px}.hou-pagination .current{background:var(--hou-accent);color:#fff;border-color:var(--hou-accent)}

.hou-related{margin-top:24px;padding:22px}.hou-related h2{font-size:23px;margin:0 0 16px}.hou-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.hou-related-item{font-size:15px;font-weight:700;line-height:1.5}.hou-related-item img{aspect-ratio:1/1;width:100%;object-fit:cover;border-radius:10px;margin-bottom:7px}

.hou-home-top,.hou-home-bottom{margin-bottom:20px}.hou-front-content{padding:0;background:transparent;border:0;box-shadow:none}
.hou-front-content>.hou-article{background:#fff}

.site-footer{margin-left:var(--hou-sidebar);padding:24px;color:var(--hou-muted)}
.hou-footer-inner{max-width:var(--hou-max);margin:auto;border-top:1px solid var(--hou-border);padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* 使用者原有文章標題與內容視覺規格 */
.panel-body.single.mt-2 h1,.entry-content h1,.hou-entry-content h1{font-size:36px!important;background-color:transparent!important;color:#ff711a!important;font-weight:bold!important;padding:0!important;display:block!important;border-radius:0!important;line-height:1.35!important;letter-spacing:1.5px!important;margin-top:1em!important;margin-bottom:.8em!important}
.panel-body.single.mt-2 h2,.entry-content h2,.hou-entry-content h2{display:table!important;width:auto!important;max-width:100%!important;font-size:28px!important;color:#fc02fe!important;font-weight:bold!important;background-color:#fff0f9!important;padding:10px 14px!important;border-radius:5px!important;line-height:1.35!important;letter-spacing:1.2px!important;margin-top:2em!important;margin-bottom:1em!important;clear:both!important}
.panel-body.single.mt-2 h2::before,.entry-content h2::before,.hou-entry-content h2::before{content:none!important;display:none!important}
.panel-body.single.mt-2 h3,.entry-content h3,.hou-entry-content h3{display:table!important;width:auto!important;max-width:100%!important;font-size:24px!important;color:#f1690c!important;background-color:#fff6e0!important;padding:4px 8px!important;border-radius:4px!important;font-weight:bold!important;line-height:1.35!important;letter-spacing:1px!important;margin-top:1.6em!important;margin-bottom:.8em!important;clear:both!important}
.panel-body.single.mt-2 p:not([style*="font-size"]),.panel-body.single.mt-2 li:not([style*="font-size"]),.entry-content p:not([style*="font-size"]),.entry-content li:not([style*="font-size"]),.hou-entry-content p:not([style*="font-size"]),.hou-entry-content li:not([style*="font-size"]){font-size:20px!important;line-height:1.8!important}
.entry-content a,.panel-body a,.hou-entry-content a{font-weight:bold!important;color:#ff711a!important;text-decoration:none!important;box-shadow:inset 0 -3px 0 0 #ff711a;padding-bottom:2px;transition:color .3s ease,box-shadow .3s ease}
.entry-content a:hover,.panel-body a:hover,.hou-entry-content a:hover{color:#ff0324!important;box-shadow:inset 0 -3px 0 0 #81d742}
.entry-content img,.panel-body img,.hou-entry-content img{max-width:100%!important;height:auto!important}

/* 排除按鈕與工具連結 */
.hou-entry-content a.hou-download-btn,.hou-entry-content a.hou-action-btn,.hou-entry-content .hou-sidebar-buttons-wrap a,.hou-entry-content .hou-sidebar-tool-grid a,.hou-entry-content .hou-sidebar-big-btn{box-shadow:none!important;text-decoration:none!important;padding-bottom:0!important}

/* Tutor LMS：不依賴單一版本的深層 class，兼容 lesson / course spotlight */
body.single-lesson .tutor-course-topic-single-body,
body.single-lesson .tutor-course-spotlight-tab,
body.single-lesson .tutor-lesson-wrapper,
body.single-courses .tutor-course-details-content{font-size:20px;line-height:1.8}
body.single-lesson .tutor-course-topic-single-body p,
body.single-lesson .tutor-course-spotlight-tab p,
body.single-lesson .tutor-lesson-wrapper p{font-size:20px!important;line-height:1.8!important;margin-bottom:1.2em!important}
body.single-lesson .tutor-course-topic-single-body span,
body.single-lesson .tutor-course-spotlight-tab span,
body.single-lesson .tutor-lesson-wrapper span{line-height:inherit!important}
body.single-lesson .tutor-course-topic-single-body h1,body.single-lesson .tutor-course-spotlight-tab h1,body.single-lesson .tutor-lesson-wrapper h1{font-size:36px!important;line-height:1.4!important;color:#ff711a!important}
body.single-lesson .tutor-course-topic-single-body h2,body.single-lesson .tutor-course-spotlight-tab h2,body.single-lesson .tutor-lesson-wrapper h2{font-size:28px!important;line-height:1.4!important;color:#fc02fe!important;background:#fff0f9!important;display:table!important;padding:10px 14px!important;border-radius:5px!important}
body.single-lesson .tutor-course-topic-single-body h3,body.single-lesson .tutor-course-spotlight-tab h3,body.single-lesson .tutor-lesson-wrapper h3{font-size:24px!important;line-height:1.5!important;color:#f1690c!important;background:#fff6e0!important;display:table!important;padding:4px 8px!important;border-radius:4px!important}

/* WooCommerce 基本兼容 */
.woocommerce .button,.woocommerce button.button,.woocommerce a.button{border-radius:10px!important}
.woocommerce div.product,.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce{background:#fff;border-radius:var(--hou-radius);padding:20px}

/* V1.6：文章封存列表。桌機依自訂 3～6 欄；窄桌機自動降成 3 欄，避免卡片過窄。 */
@media(max-width:1180px) and (min-width:861px){
  .hou-post-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
}
@media(max-width:1100px){
  :root{--hou-sidebar:0px}
  .hou-sidebar-nav{transform:translateX(-100%);width:260px;transition:transform .22s ease}
  .hou-sidebar-nav.is-open{transform:translateX(0);box-shadow:12px 0 36px rgba(0,0,0,.16)}
  .hou-site-shell,.site-footer{margin-left:0}
  .hou-search-panel{left:0}
  .hou-mobile-toggle{display:block}
  .hou-main-grid{grid-template-columns:minmax(0,1fr) 280px}
}
@media(max-width:860px){
  .hou-main{padding:14px}
  .hou-main-grid{grid-template-columns:1fr}
  .hou-sidebar{position:static}
  .hou-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hou-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hou-topbar{padding:0 12px}.hou-top-title{max-width:48vw}.hou-account-link{display:none}
  .hou-article{padding:20px}
}
@media(max-width:600px){
  .admin-bar .hou-topbar{top:46px}
  .hou-page-title{font-size:30px}
  .hou-post-grid{grid-template-columns:1fr 1fr;gap:10px}
  .hou-post-card-body{padding:11px}.hou-post-card-title{font-size:16px}
  .hou-entry-content{font-size:20px;line-height:1.8}
  .panel-body.single.mt-2 h1,.entry-content h1,.hou-entry-content h1{font-size:30px!important}
  .panel-body.single.mt-2 h2,.entry-content h2,.hou-entry-content h2{font-size:26px!important;padding:8px 12px!important}
  .panel-body.single.mt-2 h3,.entry-content h3,.hou-entry-content h3{font-size:22px!important;line-height:1.5!important}
}


/* =========================================================
   V0.2：OneNav 相容頂部選單 + Hou Landing Page 全寬模式
   ========================================================= */

/* V0.2 不再於桌機固定顯示左側所有頁面；主選單回到頂部 */
.hou-site-shell{margin-left:0!important;min-width:0}
.hou-sidebar-nav{display:none!important}
.hou-search-panel{left:0!important}
.site-footer{margin-left:0!important}

.hou-topbar{
  min-height:72px;
  height:auto;
  padding:10px 24px;
  gap:20px;
}
.hou-brand-top{
  min-height:0;
  border:0;
  padding:0;
  flex:0 0 auto;
}
.hou-brand-top img{max-height:48px;width:auto}
.hou-top-menu{display:flex;align-items:center;min-width:0;flex:1}
.hou-menu-top{list-style:none!important;display:flex;align-items:center;gap:4px;margin:0!important;padding:0!important;flex-wrap:wrap}
.hou-menu-top>li{position:relative;margin:0!important}
.hou-menu-top a{display:block;color:#484b4f!important;font-weight:800;font-size:17px;line-height:1.35;padding:10px 12px;border-radius:10px;white-space:nowrap}
.hou-menu-top a:hover,.hou-menu-top .current-menu-item>a,.hou-menu-top .current-menu-ancestor>a{background:rgba(255,113,26,.10);color:var(--hou-accent)!important}
.hou-menu-top .sub-menu{display:none;position:absolute;z-index:80;top:100%;left:0;min-width:210px;margin:0!important;padding:8px!important;list-style:none!important;background:#fff;border:1px solid var(--hou-border);border-radius:12px;box-shadow:var(--hou-shadow)}
.hou-menu-top li:hover>.sub-menu{display:block}
.hou-menu-top .sub-menu li{position:relative}
.hou-menu-top .sub-menu a{font-size:15px;padding:9px 11px}
.hou-menu-top .sub-menu .sub-menu{top:0;left:100%}

/* 手機抽屜選單：只顯示真正指定的 WordPress 選單，不列出所有頁面 */
.hou-mobile-nav{display:none}
.hou-no-menu{padding:20px;color:var(--hou-muted)}

/* 一般頁面仍維持可控制的內容寬度 */
.hou-main{max-width:var(--hou-content-max);margin:0 auto;padding:24px}

/* [hou_landing_page] 專用：不受一般文章寬度、卡片、右側欄限制 */
body.hou-landing-home{background:#fff}
body.hou-landing-home .hou-main{
  width:100%;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.hou-landing-home .hou-main-grid,
body.hou-landing-home .hou-landing-grid{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body.hou-landing-home .hou-front-content,
body.hou-landing-home .hou-landing-article,
body.hou-landing-home .hou-landing-content{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.hou-landing-home .hou-landing-content{
  font-size:inherit;
  line-height:inherit;
  overflow:visible;
}
body.hou-landing-home .hou-home-top,
body.hou-landing-home .hou-home-bottom{
  width:100%;max-width:none;margin:0;padding:0;
}

@media(max-width:1100px){
  .hou-top-menu{display:none}
  .hou-mobile-toggle{display:block}
  .hou-mobile-nav{
    position:fixed;
    z-index:90;
    top:0;
    left:0;
    bottom:0;
    width:min(320px,88vw);
    display:block;
    background:#fff;
    border-right:1px solid var(--hou-border);
    box-shadow:14px 0 38px rgba(0,0,0,.14);
    transform:translateX(-105%);
    transition:transform .22s ease;
    overflow-y:auto;
  }
  .admin-bar .hou-mobile-nav{top:32px}
  .hou-mobile-nav.is-open{transform:translateX(0)}
  .hou-mobile-nav-inner{padding:18px 12px 30px}
  .hou-menu-mobile{list-style:none;margin:0;padding:0}
  .hou-menu-mobile li{margin:3px 0}
  .hou-menu-mobile a{display:block;padding:10px 12px;border-radius:10px;color:#484b4f!important;font-weight:800}
  .hou-menu-mobile a:hover{background:rgba(255,113,26,.10);color:var(--hou-accent)!important}
  .hou-menu-mobile .sub-menu{list-style:none;padding-left:14px;margin:3px 0 8px}
}
@media(max-width:782px){.admin-bar .hou-mobile-nav{top:46px}}

/* =========================================================
   V0.4：AI 工具父子分類目錄 [hou_ai_tools_directory]
   ========================================================= */
.hou-ai-directory{--hou-ai-columns:4;width:100%;max-width:1500px;margin:0 auto;padding:18px 20px 42px;color:#333741}
.hou-ai-directory *{box-sizing:border-box}
.hou-ai-directory-head{margin:0 0 20px;padding:24px 26px;border:1px solid #ececed;border-radius:20px;background:linear-gradient(135deg,#fff8f2 0%,#fff 56%,#f8fbff 100%)}
.hou-ai-directory-head h2{display:block!important;margin:0 0 8px!important;padding:0!important;background:transparent!important;color:#222!important;font-size:32px!important;line-height:1.25!important}
.hou-ai-directory-head p{margin:0!important;color:#73767d!important;font-size:17px!important;line-height:1.7!important}
.hou-ai-directory-notice{padding:18px 20px;border:1px solid #ffd2b2;border-radius:14px;background:#fff8f2;color:#6d3c15;line-height:1.7}
.hou-ai-search-wrap{position:relative;display:flex;align-items:center;max-width:880px;margin:0 auto 18px}
.hou-ai-search-icon{position:absolute;left:18px;font-size:26px;color:#94969c;pointer-events:none}
.hou-ai-search-input{width:100%;height:58px!important;padding:0 54px 0 52px!important;border:1px solid #dfe1e5!important;border-radius:16px!important;background:#fff!important;box-shadow:0 5px 18px rgba(16,24,40,.06)!important;font-size:18px!important;line-height:1!important;outline:none!important;transition:border-color .2s,box-shadow .2s}
.hou-ai-search-input:focus{border-color:var(--hou-accent)!important;box-shadow:0 0 0 4px rgba(255,113,26,.10),0 6px 20px rgba(16,24,40,.06)!important}
.hou-ai-search-clear{position:absolute;right:12px;width:38px;height:38px;border:0;border-radius:50%;background:#f0f1f1;color:#5d6068;font-size:24px;line-height:1;cursor:pointer}
.hou-ai-parent-nav{display:flex;gap:8px;overflow-x:auto;margin:0 0 24px;padding:3px 0 8px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.hou-ai-parent-nav a{flex:0 0 auto;display:block;padding:9px 14px;border:1px solid #ececed;border-radius:999px;background:#fff;color:#333741!important;font-weight:800!important;font-size:15px;text-decoration:none!important;box-shadow:none!important;white-space:nowrap}
.hou-ai-parent-nav a:hover{border-color:#ffd4b8;background:#fff7f0;color:var(--hou-accent)!important}
.hou-ai-sections{display:grid;gap:24px}
.hou-ai-section{scroll-margin-top:90px;padding:24px;border:1px solid #ececed;border-radius:20px;background:#fff;box-shadow:0 5px 20px rgba(16,24,40,.045)}
.hou-ai-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.hou-ai-section-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.hou-ai-section-title-row h2{display:block!important;margin:0!important;padding:0!important;background:transparent!important;color:#222!important;font-size:27px!important;line-height:1.3!important;letter-spacing:.2px!important}
.hou-ai-count{display:inline-flex;align-items:center;min-height:26px;padding:3px 9px;border-radius:999px;background:#f5f5f6;color:#73767d;font-size:13px;font-weight:800}
.hou-ai-section-desc{margin:7px 0 0!important;color:#73767d!important;font-size:16px!important;line-height:1.65!important}
.hou-ai-view-all{flex:0 0 auto;padding:8px 11px!important;color:var(--hou-accent)!important;font-size:14px!important;font-weight:800!important;text-decoration:none!important;box-shadow:none!important;white-space:nowrap}
.hou-ai-child-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.hou-ai-child-chips>a,.hou-ai-more-chips a{display:inline-flex;align-items:center;gap:7px;padding:7px 11px!important;border:1px solid #ececed;border-radius:999px;background:#fafafa;color:#484b4f!important;font-size:14px!important;font-weight:700!important;text-decoration:none!important;box-shadow:none!important}
.hou-ai-child-chips>a:hover,.hou-ai-more-chips a:hover{border-color:#ffd3b4;background:#fff7f0;color:var(--hou-accent)!important}
.hou-ai-child-chips small,.hou-ai-more-chips small{color:#94969c;font-size:11px;font-weight:800}
.hou-ai-more-chips{position:relative;display:inline-block}
.hou-ai-more-chips summary{display:inline-flex;align-items:center;padding:7px 11px;border:1px dashed #d8dade;border-radius:999px;background:#fff;color:#73767d;font-size:14px;font-weight:800;cursor:pointer;list-style:none}
.hou-ai-more-chips summary::-webkit-details-marker{display:none}
.hou-ai-more-chips>div{position:absolute;z-index:30;top:calc(100% + 8px);left:0;display:flex;gap:7px;flex-wrap:wrap;width:min(520px,82vw);padding:12px;border:1px solid #ececed;border-radius:14px;background:#fff;box-shadow:0 16px 36px rgba(16,24,40,.12)}
.hou-ai-tool-grid{display:grid;grid-template-columns:repeat(var(--hou-ai-columns),minmax(0,1fr));gap:16px}
.hou-ai-tool-card{min-width:0;border:1px solid #ececed;border-radius:16px;background:#fff;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.hou-ai-tool-card:hover{transform:translateY(-3px);border-color:#ffd6ba;box-shadow:0 12px 28px rgba(16,24,40,.10)}
.hou-ai-tool-card-link{display:block;height:100%;color:inherit!important;text-decoration:none!important;box-shadow:none!important;padding:0!important}
.hou-ai-tool-thumb{position:relative;aspect-ratio:16/10;overflow:hidden;background:#f5f5f6}
.hou-ai-tool-thumb img{display:block;width:100%!important;height:100%!important;object-fit:cover;transition:transform .25s ease}
.hou-ai-tool-card:hover .hou-ai-tool-thumb img{transform:scale(1.025)}
.hou-ai-tool-placeholder{display:grid;place-items:center;width:100%;height:100%;font-size:48px;font-weight:900;color:#fff;background:linear-gradient(135deg,var(--hou-accent),#ff9a57)}
.hou-ai-tool-body{display:flex;flex-direction:column;min-height:180px;padding:15px 16px 16px}
.hou-ai-tool-badge{align-self:flex-start;max-width:100%;margin:0 0 8px;padding:4px 8px;border-radius:999px;background:#fff4eb;color:#c85200;font-size:11px;font-weight:900;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hou-ai-tool-title{display:block!important;margin:0 0 7px!important;padding:0!important;background:transparent!important;color:#202124!important;font-size:19px!important;line-height:1.35!important;letter-spacing:0!important;font-weight:900!important}
.hou-ai-tool-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:0 0 12px!important;color:#73767d!important;font-size:14px!important;line-height:1.65!important}
.hou-ai-tool-date{margin-top:auto;color:#94969c;font-size:12px}
.hou-ai-tool-more{display:block;margin-top:auto;padding-top:9px;color:var(--hou-accent);font-size:13px;font-weight:900}
.hou-ai-empty,.hou-ai-search-status{margin:0;padding:20px;border-radius:12px;background:#f8f9fa;color:#73767d;text-align:center;font-size:16px;line-height:1.6}
.hou-ai-search-results{margin-top:22px}
.hou-ai-search-summary{margin:0 0 12px;color:#73767d;font-size:14px}
.hou-ai-search-results .hou-ai-tool-grid{grid-template-columns:repeat(var(--hou-ai-columns),minmax(0,1fr))}
@media(max-width:1180px){.hou-ai-directory{--hou-ai-columns:3!important}.hou-ai-tool-grid,.hou-ai-search-results .hou-ai-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.hou-ai-directory{padding:12px 12px 32px}.hou-ai-section{padding:18px}.hou-ai-section-head{display:block}.hou-ai-view-all{display:inline-block;margin-top:7px}.hou-ai-tool-grid,.hou-ai-search-results .hou-ai-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.hou-ai-tool-body{min-height:165px;padding:12px}.hou-ai-tool-title{font-size:17px!important}.hou-ai-tool-excerpt{font-size:13px!important}.hou-ai-search-input{height:54px!important;font-size:16px!important}}
@media(max-width:480px){.hou-ai-section{padding:15px 12px;border-radius:16px}.hou-ai-section-title-row h2{font-size:23px!important}.hou-ai-tool-grid,.hou-ai-search-results .hou-ai-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hou-ai-tool-thumb{aspect-ratio:1/1}.hou-ai-tool-body{min-height:150px;padding:10px}.hou-ai-tool-badge{font-size:10px}.hou-ai-tool-title{font-size:15px!important}.hou-ai-tool-excerpt{display:none}.hou-ai-tool-more{font-size:12px}.hou-ai-parent-nav{margin-bottom:17px}}


/* =========================================================
   V0.6：熱門 / 近期 / 指定分類文章 + 瀏覽數 + 備用封面
   ========================================================= */
.hou-post-card-thumb{display:block;overflow:hidden;background:#f1f3f5}
.hou-post-card-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.hou-mini-posts{display:grid;gap:12px}
.hou-mini-post{display:grid;grid-template-columns:82px minmax(0,1fr);gap:11px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--hou-border)}
.hou-mini-post:last-child{padding-bottom:0;border-bottom:0}
.hou-mini-thumb{display:block;width:82px;aspect-ratio:1/1;border-radius:10px;overflow:hidden;background:#f1f3f5}
.hou-mini-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.hou-mini-body{min-width:0}
.hou-mini-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;color:var(--hou-text)!important;font-size:15px;font-weight:800;line-height:1.45}
.hou-mini-title:hover{color:var(--hou-accent)!important}
.hou-mini-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:5px;color:var(--hou-muted);font-size:11px;line-height:1.4}
.hou-widget-empty{margin:0;color:var(--hou-muted);font-size:14px}
.hou-category-groups{display:grid;gap:18px}
.hou-category-group{padding-bottom:16px;border-bottom:1px solid var(--hou-border)}
.hou-category-group:last-child{padding-bottom:0;border-bottom:0}
.hou-category-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 11px}
.hou-category-group-head>a{font-size:17px;font-weight:900;color:var(--hou-text)!important}
.hou-category-group-head>a:hover{color:var(--hou-accent)!important}
.hou-category-group-head>span{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:24px;padding:0 8px;border-radius:999px;background:#f4f5f6;color:var(--hou-muted);font-size:11px;font-weight:800}
.hou-related-item img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
@media(max-width:480px){
  .hou-mini-post{grid-template-columns:70px minmax(0,1fr);gap:9px}
  .hou-mini-thumb{width:70px}
  .hou-mini-title{font-size:14px}
}


/* =========================================================
   V0.8：指定分類導覽
   ========================================================= */
.hou-selected-categories{list-style:none!important;margin:0!important;padding:0!important;display:grid;gap:7px}
.hou-selected-categories li{margin:0!important;padding:0!important}
.hou-selected-categories a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid var(--hou-border);border-radius:10px;background:#fff;color:var(--hou-text)!important;font-size:14px;font-weight:800;line-height:1.35}
.hou-selected-categories a:hover{border-color:#ffd3b4;background:#fff7f0;color:var(--hou-accent)!important}
.hou-selected-categories small{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:22px;padding:0 7px;border-radius:999px;background:#f4f5f6;color:var(--hou-muted);font-size:11px;font-weight:800}

/* V1.2 空白頁：保留網站 Header / Footer，但頁面內容全寬、不顯示主題頁面標題，也不加卡片框。 */
body.hou-layout-blank .hou-main-grid,body.hou-layout-blank_breadcrumb .hou-main-grid{display:block;max-width:var(--hou-max);width:100%;}
body.hou-layout-blank .hou-content,body.hou-layout-blank_breadcrumb .hou-content{width:100%;max-width:none;}
.hou-blank-page{background:transparent;border:0;box-shadow:none;padding:0;margin:0;}
body.hou-layout-blank_breadcrumb .hou-breadcrumb{margin-bottom:14px;}


/* =========================================================
   V1.8：分類群組同色系 + 側邊欄跨瀏覽器修正 + 小工具滿寬修正
   ========================================================= */

/* 所有右側欄內容都限制在自身欄寬內，避免 Chrome / Edge / Firefox 因內容最小寬度造成裁切。 */
.hou-main-grid>*{min-width:0}
.hou-sidebar{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  max-height:none!important;
  overflow:visible!important;
  padding-right:0!important;
}
.hou-sidebar .widget,
.io-sidebar-widget{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
}

/* 部落格／分類／標籤／作者／日期／搜尋列表採一般頁面捲動，不再建立右欄獨立捲軸。 */
@media (min-width:861px){
  body.blog .hou-sidebar,
  body.archive .hou-sidebar,
  body.search .hou-sidebar{
    position:static!important;
    top:auto!important;
  }
}

/* 熱門／最新文章沒有封面時，文字必須吃滿整個 Widget 寬度。 */
.hou-mini-post.hou-mini-post-no-thumb{
  grid-template-columns:minmax(0,1fr)!important;
}
.hou-mini-post.hou-mini-post-no-thumb .hou-mini-body,
.hou-mini-post.hou-mini-post-no-thumb .hou-mini-title{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}

/* 指定分類：每個父分類是一個完整群組；子分類繼承同一色系。 */
.widget_hou_selected_categories .widget-title,
.hou-sidebar .widget_hou_selected_categories .widget-title{
  font-size:22px!important;
  line-height:1.35!important;
  margin-bottom:14px!important;
}
.hou-selected-categories.hou-selected-categories-tree,
.hou-selected-categories.hou-selected-categories-tree ul{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}
.hou-selected-categories-tree{
  display:grid!important;
  gap:12px!important;
}
.hou-selected-categories-tree .hou-cat-item{
  margin:0!important;
  padding:0!important;
  min-width:0!important;
}
.hou-selected-categories-tree>.hou-cat-family{
  border:2px solid var(--hou-cat-color,#d6d9dd)!important;
  border-radius:14px!important;
  padding:8px!important;
  background:var(--hou-cat-bg,#fff)!important;
  overflow:hidden!important;
}
.hou-selected-categories-tree .hou-cat-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:6px!important;
  align-items:stretch!important;
  min-width:0!important;
}
.hou-selected-categories-tree .hou-cat-link{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:9px!important;
  min-width:0!important;
  min-height:39px!important;
  padding:8px 10px!important;
  border:1px solid var(--hou-cat-border-soft,#d6d9dd)!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.58)!important;
  color:var(--hou-cat-color,#374151)!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.35!important;
  text-decoration:none!important;
  box-shadow:none!important;
  transition:background .16s ease,transform .16s ease,border-color .16s ease!important;
}
.hou-selected-categories-tree>.hou-cat-depth-0>.hou-cat-row .hou-cat-link{
  min-height:46px!important;
  padding:10px 12px!important;
  background:var(--hou-cat-hover,#f4f5f6)!important;
  border-color:var(--hou-cat-color,#d6d9dd)!important;
  font-size:17px!important;
  font-weight:900!important;
}
.hou-selected-categories-tree .hou-cat-link:hover,
.hou-selected-categories-tree .hou-cat-link:focus{
  background:var(--hou-cat-hover,#f4f5f6)!important;
  color:var(--hou-cat-color,#111827)!important;
  transform:translateX(2px)!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
.hou-selected-categories-tree .hou-cat-name{
  min-width:0!important;
  overflow-wrap:anywhere!important;
}
.hou-selected-categories-tree .hou-cat-count{
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:27px!important;
  height:22px!important;
  padding:0 7px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.84)!important;
  color:inherit!important;
  font-size:11px!important;
  font-weight:900!important;
}
.hou-selected-categories-tree .hou-cat-toggle{
  width:40px!important;
  min-width:40px!important;
  min-height:39px!important;
  padding:0!important;
  border:1px solid var(--hou-cat-color,#d6d9dd)!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.72)!important;
  color:var(--hou-cat-color,#374151)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  font-size:15px!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:none!important;
}
.hou-selected-categories-tree>.hou-cat-depth-0>.hou-cat-row .hou-cat-toggle{
  min-height:46px!important;
  background:var(--hou-cat-hover,#f4f5f6)!important;
}
.hou-selected-categories-tree .hou-cat-toggle:hover,
.hou-selected-categories-tree .hou-cat-toggle:focus{
  background:#fff!important;
  outline:none!important;
  box-shadow:none!important;
}
/* 收合時箭頭直接朝下；展開後轉成朝上。 */
.hou-selected-categories-tree .hou-cat-toggle-icon{
  display:block!important;
  transform:rotate(0deg)!important;
  transition:transform .18s ease!important;
}
.hou-selected-categories-tree .hou-cat-item.is-open>.hou-cat-row .hou-cat-toggle-icon{
  transform:rotate(180deg)!important;
}
.hou-selected-categories-tree .hou-cat-children{
  display:none!important;
  margin:7px 0 0 0!important;
  padding:7px!important;
  border:1px solid var(--hou-cat-border-soft,#e5e7eb)!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.38)!important;
  gap:6px!important;
}
.hou-selected-categories-tree .hou-cat-item.is-open>.hou-cat-children{
  display:grid!important;
}
.hou-selected-categories-tree .hou-cat-depth-1>.hou-cat-row .hou-cat-link{
  min-height:38px!important;
  font-size:15px!important;
  padding:8px 10px!important;
}
.hou-selected-categories-tree .hou-cat-depth-2>.hou-cat-row .hou-cat-link,
.hou-selected-categories-tree .hou-cat-depth-3>.hou-cat-row .hou-cat-link{
  min-height:36px!important;
  font-size:14px!important;
  padding:7px 9px!important;
}
.hou-selected-categories-tree .hou-cat-depth-2,
.hou-selected-categories-tree .hou-cat-depth-3{
  margin-left:10px!important;
}
.hou-selected-categories-tree .hou-cat-item.current-cat>.hou-cat-row .hou-cat-link{
  box-shadow:inset 0 0 0 2px var(--hou-cat-color,#374151)!important;
  background:#fff!important;
}
.hou-selected-categories-tree .hou-cat-auto-parent>.hou-cat-row .hou-cat-link{
  font-weight:900!important;
}
@media(max-width:860px){
  .hou-sidebar{position:static!important;max-height:none!important;overflow:visible!important;padding-right:0!important}
}



/* ===== V1.9：全站一般文章／文章列表廣告欄位 ===== */
.hou-global-ad-slot{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:visible;
  text-align:center;
}
.hou-global-ad-slot:empty{display:none!important}
.hou-global-ad-slot img,
.hou-global-ad-slot iframe,
.hou-global-ad-slot ins{
  max-width:100%;
}
.hou-ad-single-top,
.hou-ad-archive-top{
  margin:0 0 18px;
}
.hou-ad-single-bottom,
.hou-ad-archive-bottom{
  margin:18px 0 0;
}
.hou-global-ad-slot > *:first-child{margin-top:0}
.hou-global-ad-slot > *:last-child{margin-bottom:0}
@media(max-width:700px){
  .hou-ad-single-top,
  .hou-ad-archive-top{margin-bottom:14px}
  .hou-ad-single-bottom,
  .hou-ad-archive-bottom{margin-top:14px}
}


/* ===== V2.0：廣告圖片／媒體庫／超連結 ===== */
.hou-global-ad-slot .hou-global-ad-image-link{
  display:block;
  width:100%;
  max-width:100%;
  margin:0 auto;
  padding:0;
  border:0;
  text-decoration:none!important;
  box-shadow:none!important;
  background:none!important;
  line-height:0;
}
.hou-global-ad-slot .hou-global-ad-image{
  display:block;
  width:auto;
  max-width:100%;
  height:auto;
  margin:0 auto;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.hou-global-ad-slot .hou-global-ad-image-link:hover .hou-global-ad-image{
  opacity:.92;
}


/* =========================================================
   V2.2：桌機主選單真正置中＋品牌文字/Logo＋子選單配色
   ========================================================= */
.hou-brand-top .hou-brand-home-link{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  min-width:0!important;
  text-decoration:none!important;
  box-shadow:none!important;
  border:0!important;
}
.hou-brand-top .hou-brand-text{
  font-size:var(--hou-brand-text-size,21px)!important;
  font-weight:var(--hou-brand-text-weight,900)!important;
  white-space:nowrap!important;
}
.hou-brand-top .hou-header-brand-logo{
  display:block!important;
  width:var(--hou-brand-logo-width,180px)!important;
  max-width:100%!important;
  height:auto!important;
  max-height:var(--hou-brand-logo-height,48px)!important;
  object-fit:contain!important;
}
.hou-menu-top{gap:var(--hou-menu-gap,6px)!important}
.hou-menu-top>li>a{
  font-size:var(--hou-menu-font-size,17px)!important;
  font-weight:var(--hou-menu-font-weight,800)!important;
  padding-left:var(--hou-menu-item-pad-x,12px)!important;
  padding-right:var(--hou-menu-item-pad-x,12px)!important;
}
.hou-menu-top .sub-menu{
  background:var(--hou-submenu-bg,#fff1e6)!important;
  border-color:rgba(120,70,20,.18)!important;
}
.hou-menu-top .sub-menu a{
  color:var(--hou-submenu-text,#5f3600)!important;
  font-size:var(--hou-submenu-font-size,15px)!important;
  font-weight:700!important;
  border-radius:8px!important;
}
.hou-menu-top .sub-menu a:hover,
.hou-menu-top .sub-menu .current-menu-item>a,
.hou-menu-top .sub-menu .current-menu-ancestor>a{
  background:var(--hou-submenu-hover-bg,#ffd6b3)!important;
  color:var(--hou-submenu-hover-text,#b42300)!important;
}
.hou-menu-top .sub-menu .sub-menu{
  background:var(--hou-submenu-bg,#fff1e6)!important;
}

@media(min-width:1101px){
  .hou-topbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    align-items:center!important;
    column-gap:18px!important;
  }
  .hou-brand-top{
    justify-self:start!important;
    min-width:0!important;
  }
  .hou-top-menu{
    justify-self:center!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:0!important;
    flex:none!important;
  }
  .hou-menu-top{
    justify-content:center!important;
    flex-wrap:nowrap!important;
  }
  .hou-top-actions{
    justify-self:end!important;
    margin-left:0!important;
  }
}

@media(max-width:1100px){
  .hou-brand-top .hou-header-brand-logo{
    width:min(var(--hou-brand-logo-width,180px),180px)!important;
    max-height:min(var(--hou-brand-logo-height,48px),46px)!important;
  }
}

/* ===== V2.4：文章／食譜／食療分類整合小工具 ===== */
.hou-cat-source-group{margin:0 0 14px}.hou-cat-source-group:last-child{margin-bottom:0}.hou-cat-source-label{margin:0 0 7px;padding:5px 8px;border-radius:8px;background:#f3f4f6;color:#374151;font-size:13px;font-weight:900;letter-spacing:.3px}.hou-widget-category-source{position:sticky;top:0;z-index:1;margin:7px -4px 5px;padding:5px 7px;background:#eef2f7;color:#334155;font-weight:800;font-size:12px;border-radius:5px}.hou-widget-category-source:first-child{margin-top:0}
