/* ── 結構修正（kit）── */
.arrhf .elementor-widget-text-editor p{margin:0 0 .85em}
.arrhf .elementor-widget-text-editor p:last-child{margin-bottom:0}
.arrhf ul,.arrhf ol{margin:0;padding:0;list-style:none}
.arrhf .elementor-widget:not(:last-child){margin-bottom:0;margin-block-end:0}
.arrhf-2col{columns:2;column-gap:24px}.arrhf-2col li{break-inside:avoid}
@media (max-width:767px){.arrhf-2col{columns:1}}
.arrhf-panel.e-con,.arrhf-static .arrhf-panel,.elementor-column.arrhf-panel>.elementor-widget-wrap{background:#fff;border:1px solid #EADFDF;padding:30px 30px 26px!important}
@media (max-width:767px){.arrhf-panel.e-con,.arrhf-static .arrhf-panel,.elementor-column.arrhf-panel>.elementor-widget-wrap{padding:24px 20px 20px!important}}
@media (prefers-reduced-motion:reduce){.arrhf *{transition:none!important;animation:none!important}}
.arrhf a:focus-visible{outline:2px solid #A4535A;outline-offset:3px}
.arrhf .elementor-widget-text-editor a{color:#A4535A;text-decoration:underline;text-underline-offset:3px}
.arrhf-dark .elementor-widget-text-editor a{color:#E7B7B5}

/* ── 通用元件（kit）── */
.arrhf-kv,.arrhf-cmp{width:100%;border-collapse:collapse;background:#fff;border:1px solid #EADFDF}
.arrhf-kv caption,.arrhf-cmp caption{text-align:left;font:700 15px 'Noto Sans TC',serif;color:#A4535A;padding:0 0 10px;letter-spacing:1px}
.arrhf-kv th,.arrhf-kv td,.arrhf-cmp th,.arrhf-cmp td{padding:14px 18px;border-bottom:1px solid #EADFDF;text-align:left;vertical-align:top}
.arrhf-kv th{width:150px;background:#FBF6F5;color:#2B2226;font-weight:700;white-space:nowrap}
.arrhf-cmp thead th{background:#2B2226;color:#fff;font-weight:700}
.arrhf-cmp tbody th{font:700 18px 'Noto Sans TC',serif;color:#A4535A;white-space:nowrap}
.arrhf-steps{counter-reset:st;position:relative;max-width:760px}
.arrhf-steps::before{content:"";position:absolute;left:21px;top:22px;bottom:22px;width:1px;background:#EADFDF}
.arrhf-steps li{counter-increment:st;position:relative;padding:0 0 26px 66px}
.arrhf-steps li::before{content:counter(st);position:absolute;left:0;top:-4px;width:43px;height:43px;border-radius:50%;background:#fff;border:1.5px solid #A4535A;color:#A4535A;display:flex;align-items:center;justify-content:center;font:700 17px 'Noto Sans TC',serif}
.arrhf-steps strong{display:block;font:700 19px/1.6 'Noto Sans TC',serif;color:#2B2226}
.arrhf-check li{position:relative;padding:7px 0 7px 30px}
.arrhf-check li::before{content:"";position:absolute;left:4px;top:1.05em;width:10px;height:10px;background:#A4535A;transform:rotate(45deg)}
.arrhf-tag{display:inline-block;font-size:13px;letter-spacing:1px;color:#A4535A;border:1px solid #A4535A;padding:2px 10px;margin-bottom:10px}
.arrhf-quote{border-left:3px solid #A4535A;padding-left:14px;margin:0;color:#2B2226;font-style:normal}
.arrhf .elementor-heading-title a{color:inherit;text-decoration:none;border-bottom:2px solid #EADFDF}
.arrhf .elementor-heading-title a:hover{color:#A4535A;border-bottom-color:#A4535A}
@media (max-width:767px){
 .arrhf-kv th{width:96px;padding:12px;white-space:normal}.arrhf-kv td{padding:12px}
 .arrhf-cmp thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
 .arrhf-cmp,.arrhf-cmp tbody,.arrhf-cmp tr,.arrhf-cmp th,.arrhf-cmp td{display:block;width:100%}
 .arrhf-cmp{border:0;background:none}
 .arrhf-cmp caption{display:block;width:100%}
 .arrhf-cmp tr{background:#fff;border:1px solid #EADFDF;margin-bottom:14px}
 .arrhf-cmp td{display:grid;grid-template-columns:84px 1fr;gap:10px;padding:11px 18px}
 .arrhf-cmp td::before{color:#665A5E;font-size:14px}
}

/* ── ARR Header／Footer ── */
.arrhf-site-header{position:sticky;top:0;z-index:999;background:#fff}
body.admin-bar .arrhf-site-header{top:32px}
@media (max-width:782px){body.admin-bar .arrhf-site-header{top:46px}}
@media (max-width:600px){body.admin-bar .arrhf-site-header{top:0}}
@media (max-width:767px){.arrhf-hide-m{display:none}}
.arrhf-site-header,.arrhf-site-footer{font-family:'Noto Sans TC',sans-serif}
.arrhf-bar-text{text-align:center;letter-spacing:1px}
.arrhf-bar-text p{margin:0}
.arrhf.arrhf-main{border-bottom:1px solid #EADFDF;position:relative}
.arrhf-brand .elementor-heading-title a{border-bottom:0!important;color:inherit}
.arrhf-logo img{display:block;border-radius:2px}

/* 桌機選單 */
.arrhf-menu .elementor-icon-list-item a{padding:6px 0;position:relative}
.arrhf-menu .elementor-icon-list-item a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1.5px;background:#A4535A;transform:scaleX(0);transition:transform .2s}
.arrhf-menu .elementor-icon-list-item a:hover::after{transform:scaleX(1)}
.arrhf-burger{cursor:pointer;line-height:0}
.arrhf-burger .elementor-icon{padding:6px}

/* 平板＋手機：漢堡選單 */
@media (max-width:1024px){
 .arrhf-main .e-con,.arrhf-main .e-con-inner,.arrhf-main .elementor-container,.arrhf-main .elementor-column,
 .arrhf-main .elementor-widget-wrap,.arrhf-main .elementor-inner-section,.arrhf-main .arrhf-menu{position:static!important}
 .arrhf.arrhf-main{position:relative!important}
 .arrhf-site-header .arrhf-menu{display:none}
 .arrhf-site-header.is-open .arrhf-menu{display:block;position:absolute!important;left:0;right:0;top:100%;z-index:10;
  background:#fff;border-top:1px solid #EADFDF;border-bottom:1px solid #EADFDF;box-shadow:0 12px 24px rgba(43,34,38,.08);width:auto!important;max-width:none!important}
 .arrhf-site-header.is-open .arrhf-menu .elementor-icon-list-items{display:flex;flex-direction:column;margin:0!important}
 .arrhf-site-header.is-open .arrhf-menu .elementor-icon-list-item{margin:0!important;padding:0!important;border-bottom:1px solid #F3EBEA}
 .arrhf-site-header.is-open .arrhf-menu .elementor-icon-list-item::after{display:none}
 .arrhf-site-header.is-open .arrhf-menu .elementor-icon-list-item a{display:block;padding:15px 22px}
 .arrhf-site-header.is-open .arrhf-menu .elementor-icon-list-item a::after{display:none}
 .arrhf-site-header .arrhf-burger{display:block!important}
}

/* 舊版 Elementor（區段／欄位）：手機不要把 logo 和漢堡拆成兩列 */
.arrhf-main .elementor-inner-section>.elementor-container{flex-wrap:nowrap;align-items:center}
@media (max-width:767px){
 .arrhf-main .elementor-inner-section .elementor-column{width:auto!important}
 .arrhf-main .elementor-inner-section .elementor-column:first-child{flex:1 1 auto}
 .arrhf-main .elementor-inner-section .elementor-column:last-child:not(:nth-child(2)){display:none}
}

/* Footer */
.arrhf-footer .arrhf-logo,.arrhf-footer .arrhf-brand{width:100%!important;max-width:100%!important}
.arrhf-footer .arrhf-logo{margin:0 0 14px!important}
.arrhf-footer .arrhf-brand{margin-bottom:18px!important}
.arrhf-footer .arrhf-ft{margin-bottom:14px!important}
.arrhf-footer .arrhf-logo img{margin:0}
.arrhf-footer em{font-style:normal;color:#F4EAE9;letter-spacing:.5px}
.arrhf-copy{border-top:1px solid #3E3135;padding-top:22px}
.arrhf-copy p{margin:0}
@media (max-width:767px){.arrhf-footer .e-con.e-child{margin-bottom:6px}}

/* 主題原本的 header／footer 保險藏起來（Astra 以外的佈景主題） */
body.arrhf-on #masthead:not(.arrhf-site-header),body.arrhf-on .site-header:not(.arrhf-site-header),
body.arrhf-on header.wp-block-template-part,body.arrhf-on #colophon:not(.arrhf-site-footer),
body.arrhf-on .site-footer:not(.arrhf-site-footer),body.arrhf-on footer.wp-block-template-part{display:none!important}
@media (prefers-reduced-motion:reduce){.arrhf-menu a::after{transition:none}}

/* 部落格識別：品牌名旁的 JOURNAL、公告列連結 */
.arrhf-sub{display:inline-block;margin-left:10px;padding:2px 7px;font-size:.62em;letter-spacing:2px;color:#A4535A;border:1px solid #A4535A;vertical-align:middle;line-height:1.4}
.arrhf-footer .arrhf-sub{color:#E7B7B5;border-color:#E7B7B5}
.arrhf-bar .elementor-widget-text-editor a,.arrhf-footer .elementor-widget-text-editor a{color:#E7B7B5}
@media (max-width:767px){.arrhf-sub{margin-left:6px;padding:1px 5px}}

/* 最新文章 [arrjh_latest] */
.arrhf-posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px;list-style:none;margin:0;padding:0}
.arrhf-post{margin:0;padding:0}
.arrhf-post-link{display:flex;flex-direction:column;height:100%;background:#fff;border:1px solid #EADFDF;text-decoration:none!important;color:#2B2226;transition:border-color .2s,transform .2s}
.arrhf-post-link:hover{border-color:#A4535A;transform:translateY(-2px)}
.arrhf-post-media{display:block;aspect-ratio:16/9;overflow:hidden;background:#F6EEEC}
.arrhf-post-media img,.arrhf-post-img{width:100%!important;height:100%!important;object-fit:cover;display:block;margin:0!important}
.arrhf-post-ph{display:flex;height:100%;align-items:center;justify-content:center;font:700 13px 'Noto Sans TC',sans-serif;letter-spacing:4px;color:#A4535A;background:linear-gradient(135deg,#F6EEEC,#EAD6D4)}
.arrhf-post-body{display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px;flex:1}
.arrhf-post-cat{font-size:12.5px;letter-spacing:1px;color:#A4535A;font-weight:700}
.arrhf-post .arrhf-post-title{margin:0;font:700 17px/1.6 'Noto Sans TC',sans-serif;color:#2B2226;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.arrhf-post-link:hover .arrhf-post-title{color:#A4535A}
.arrhf-post time{margin-top:auto;font-size:13px;color:#8A7C80}
@media (max-width:1024px){.arrhf-posts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){
 .arrhf-posts{grid-template-columns:1fr;gap:14px}
 .arrhf-post-link{flex-direction:row}
 .arrhf-post-media{flex:0 0 118px;aspect-ratio:auto;min-height:100px}
 .arrhf-post-body{padding:12px 14px;gap:5px}
 .arrhf-post .arrhf-post-title{font-size:15.5px;-webkit-line-clamp:3}
}
@media (prefers-reduced-motion:reduce){.arrhf-post-link{transition:none}.arrhf-post-link:hover{transform:none}}

/* 文章頁：白底、內容置中最寬 1200px（跟 header 對齊），左右留白 */
body.single-post{background:#fff}
body.single-post #primary{box-sizing:border-box;float:none;width:100%;max-width:1248px;margin:56px auto 80px!important;padding:0 24px!important}
body.single-post .ast-article-single,body.single-post .ast-article-post,body.single-post .comments-area,body.single-post .ast-single-related-posts-container{background:transparent!important;padding-left:0!important;padding-right:0!important;box-shadow:none!important}
body.single-post .entry-content img{max-width:100%;height:auto}
@media (max-width:767px){body.single-post #primary{margin:28px auto 48px!important;padding:0 18px!important}}

/* 全站字體統一 Noto Sans TC（icon 字型、程式碼、後台工具列除外） */
body,body *:not(i):not(svg):not(svg *):not(code):not(pre):not(kbd):not([class*="icon"]):not([class*="fa-"]):not(.fa):not(.fab):not(.fas):not(.far):not(#wpadminbar):not(#wpadminbar *){font-family:'Noto Sans TC',sans-serif!important}
