/* ==========================================================================
   NHE 全域設計系統（site-wide）
   套用到每一頁，含 WooCommerce 動態頁。品牌色彩 / 字體 / 按鈕 / 頁首頁尾。
   頁首頁尾 class 一律 nhe- 前綴，避免與 Astra / WooCommerce 撞名。
   ========================================================================== */
:root{
  --nhe-cream:#F4F1EA; --nhe-paper:#FCFBF7; --nhe-ink:#1C1B19; --nhe-ink-soft:#57534B;
  --nhe-maroon:#7A3B2E; --nhe-maroon-d:#5A2A20; --nhe-accent-soft:#EFE3DC; --nhe-ink-mute:#8C8576; --nhe-line:#E2DCCF; --nhe-night:#1A2730;
  --nhe-c1:#E4572E; --nhe-c2:#F2B01E; --nhe-c3:#3AA655; --nhe-c4:#2D6CDF;
  --nhe-serif:"Fraunces",serif; --nhe-serif-tc:"Noto Serif TC",serif; --nhe-sans:"Noto Sans TC",sans-serif;
  --nhe-shadow:0 18px 50px -28px rgba(28,27,25,.28);
}

/* ---- 覆寫 Astra 全域色彩變數（讓動態頁也吃品牌色） ---- */
:root{
  --ast-global-color-0:#7A3B2E;  /* 連結 / 主色 */
  --ast-global-color-1:#5A2A20;  /* 連結 hover */
  --ast-global-color-2:#1C1B19;  /* 標題文字 */
  --ast-global-color-3:#57534B;  /* 內文 */
  --ast-global-color-4:#F4F1EA;  /* 背景（.ast-plain-container / 內容容器吃這個）*/
  --ast-global-color-5:#F4F1EA;  /* 背景（備援）*/
}

/* ---- 基礎排版（site-wide） ---- */
body{font-family:var(--nhe-sans);color:var(--nhe-ink);background:var(--nhe-cream);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6,.entry-title,.ast-archive-title,.woocommerce-products-header__title,.product_title{font-family:var(--nhe-serif-tc);letter-spacing:.01em}
a{color:var(--nhe-maroon)}
a:hover,a:focus{color:var(--nhe-maroon-d)}
::selection{background:rgba(122,59,46,.16)}

/* ---- 按鈕（site-wide，含 WooCommerce / Gutenberg） ---- */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
.woocommerce #respond input#submit,.woocommerce a.button.alt,.woocommerce button.button.alt,
.woocommerce #respond input#submit.alt,.woocommerce input.button.alt,
.wp-block-button__link,.ast-button,button.ast-button{
  background-color:var(--nhe-maroon);color:#fff;border:1px solid transparent;border-radius:999px;
  font-family:var(--nhe-sans);font-weight:500;transition:.25s;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,
.wp-block-button__link:hover{background-color:var(--nhe-maroon-d);color:#fff}

/* WooCommerce 價格 / 特價 / 標籤品牌化 */
.woocommerce ul.products li.product .price,.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--nhe-maroon);font-family:var(--nhe-serif)}
.woocommerce span.onsale,.woocommerce ul.products li.product .onsale{background:var(--nhe-c2);color:#3a2a05;border-radius:999px;font-weight:700;min-height:auto;line-height:1;padding:7px 12px}
.woocommerce .star-rating span::before{color:var(--nhe-c2)}

/* ==========================================================================
   全站頁首（窄列 + 主導覽 + 帳號 / 購物車）
   ========================================================================== */
.nhe-wrap{max-width:1440px;margin:0 auto;padding:0 28px}

.nhe-util{background:var(--nhe-paper);border-bottom:1px solid var(--nhe-line);font-size:.83rem;color:var(--nhe-ink-soft)}
.nhe-util .nhe-wrap{display:flex;justify-content:space-between;align-items:center;height:42px}
.nhe-util-l{display:flex;align-items:center;gap:18px}
.nhe-line-pill{display:inline-flex;align-items:center;gap:7px;background:var(--nhe-c3);color:#fff;padding:5px 13px;border-radius:999px;font-weight:500;font-size:.78rem;text-decoration:none}
.nhe-line-pill:hover{color:#fff;filter:brightness(.95)}
.nhe-vsep{width:1px;height:14px;background:var(--nhe-line)}
.nhe-ph{display:inline-flex;align-items:center;gap:7px}
.nhe-soc{display:flex;gap:14px;align-items:center}
.nhe-soc a{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:var(--nhe-ink-soft);transition:.22s}
.nhe-soc a:hover{background:var(--nhe-maroon);color:#fff}
.nhe-soc svg{width:15px;height:15px;fill:currentColor}

.nhe-head{position:sticky;top:0;z-index:50;background:rgba(244,241,234,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--nhe-line)}
.admin-bar .nhe-head{top:32px}
.nhe-head .nhe-wrap{display:flex;align-items:center;justify-content:space-between;height:82px}
.nhe-brand{display:flex;flex-direction:column;gap:4px;text-decoration:none}
.nhe-brand-row{display:flex;align-items:baseline;gap:12px}
.nhe-logo{font-family:var(--nhe-serif);font-weight:600;font-size:1.7rem;letter-spacing:.06em;color:var(--nhe-ink);line-height:1}
.nhe-sub{font-family:var(--nhe-serif-tc);font-size:.82rem;color:var(--nhe-ink-soft);font-weight:500;line-height:1.3}
.nhe-sub span{display:block;font-family:var(--nhe-serif);font-size:.6rem;letter-spacing:.22em;font-weight:400;text-transform:uppercase}
.nhe-rainbow{display:inline-flex;height:3px;width:62px;border-radius:9px;overflow:hidden}
.nhe-rainbow i{flex:1}
.nhe-rainbow i:nth-child(1){background:var(--nhe-c1)}.nhe-rainbow i:nth-child(2){background:var(--nhe-c2)}
.nhe-rainbow i:nth-child(3){background:var(--nhe-c3)}.nhe-rainbow i:nth-child(4){background:var(--nhe-c4)}
.nhe-nav{display:flex;align-items:center;gap:28px}
.nhe-nav a{font-size:.93rem;font-weight:400;position:relative;padding:4px 0;color:var(--nhe-ink);text-decoration:none}
.nhe-nav a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1.5px;background:var(--nhe-maroon);transition:width .3s}
.nhe-nav a:hover{color:var(--nhe-ink)}
.nhe-nav a:hover::after,.nhe-nav a.is-current::after{width:100%}
.nhe-nav a.nhe-nav-cta{color:var(--nhe-maroon);font-weight:500}
.nhe-head-right{display:flex;flex-direction:row;align-items:center;gap:18px}
.nhe-account{font-size:.88rem;line-height:1}
.nhe-acct-out{display:inline-flex;align-items:center;gap:6px;color:var(--nhe-ink-soft)}
.nhe-acct-out a{color:inherit;text-decoration:none;transition:.2s}
.nhe-acct-out a:hover{color:var(--nhe-maroon)}
.nhe-acct-out svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.7}
.nhe-acct-out .nhe-sep{color:var(--nhe-line);margin:0 1px}
.nhe-acct-in{display:none;position:relative}
.nhe-head-right.is-logged-in .nhe-acct-out{display:none}
.nhe-head-right.is-logged-in .nhe-acct-in{display:block}
.nhe-acct-trigger{display:inline-flex;align-items:center;gap:9px;cursor:pointer;text-decoration:none;color:var(--nhe-ink)}
.nhe-avatar{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#8a5446,#5a2a20);color:#f3e6d8;display:grid;place-items:center;font-family:var(--nhe-serif-tc);font-weight:700;font-size:.85rem}
.nhe-hello{color:var(--nhe-ink)}
.nhe-hello b{font-family:var(--nhe-serif-tc);font-weight:600}
.nhe-caret{font-size:.62rem;color:var(--nhe-ink-soft);transition:.25s}
.nhe-acct-in:hover .nhe-caret{transform:rotate(180deg)}
.nhe-acct-menu{position:absolute;top:calc(100% + 14px);right:0;background:var(--nhe-paper);border:1px solid var(--nhe-line);border-radius:14px;box-shadow:var(--nhe-shadow);min-width:188px;padding:8px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:.22s;z-index:60}
.nhe-acct-in:hover .nhe-acct-menu,.nhe-acct-in.is-open .nhe-acct-menu{opacity:1;visibility:visible;transform:none}
.nhe-acct-in.is-open .nhe-caret{transform:rotate(180deg)}
.nhe-acct-menu::before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px}
.nhe-acct-menu .nhe-acct-menu-list{list-style:none;margin:0;padding:0}
.nhe-acct-menu .nhe-acct-menu-list li{margin:0}
.nhe-acct-menu a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;font-size:.88rem;color:var(--nhe-ink);text-decoration:none;transition:.15s}
.nhe-acct-menu a:hover{background:var(--nhe-cream);color:var(--nhe-maroon)}
.nhe-mdiv{height:1px;background:var(--nhe-line);margin:6px}
.nhe-acct-menu a.nhe-logout{color:var(--nhe-maroon);font-weight:500}
.nhe-cart-row{display:inline-flex;align-items:center;gap:9px}
.nhe-cart{position:relative;width:46px;height:46px;border-radius:50%;border:1px solid var(--nhe-line);display:grid;place-items:center;transition:.25s;text-decoration:none}
.nhe-cart:hover{background:#fff;box-shadow:var(--nhe-shadow)}
.nhe-cart svg{width:19px;height:19px;stroke:var(--nhe-ink);fill:none;stroke-width:1.6}
.nhe-cart-count{position:absolute;top:-2px;right:-2px;background:var(--nhe-maroon);color:#fff;font-size:.62rem;font-weight:700;line-height:1;min-width:18px;height:18px;padding:0 4px;border-radius:999px;display:grid;place-items:center;border:2px solid var(--nhe-cream)}
.nhe-burger{display:none;font-size:1.5rem;background:none;border:none;cursor:pointer;color:var(--nhe-ink);line-height:1}

/* ==========================================================================
   全站頁尾
   ========================================================================== */
.nhe-foot{background:var(--nhe-night);color:#b7c0c5;font-weight:300;font-size:.9rem;font-family:var(--nhe-sans)}
.nhe-foot a{color:inherit;text-decoration:none}
.nhe-foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1.1fr;gap:48px;padding:74px 0 40px}
.nhe-fbrand .nhe-logo{font-family:var(--nhe-serif);font-weight:600;font-size:1.6rem;letter-spacing:.06em;color:#fff;line-height:1}
.nhe-fbrand .nhe-sub{font-family:var(--nhe-serif-tc);font-size:.78rem;color:#8b969c;margin-top:3px}
.nhe-fbrand .nhe-sub span{display:block;font-family:var(--nhe-serif);font-size:.56rem;letter-spacing:.2em;text-transform:uppercase}
.nhe-fbrand .nhe-rainbow{width:56px;height:3px;margin-top:10px}
.nhe-blurb{font-size:.85rem;color:#9aa4aa;line-height:1.9;margin:20px 0 16px;max-width:24em}
.nhe-biz{font-size:.8rem;color:#76828a;line-height:1.9}
.nhe-foot h4{font-family:var(--nhe-serif-tc);color:#fff;font-size:1.02rem;margin-bottom:20px;font-weight:600}
.nhe-ci{display:flex;gap:13px;align-items:flex-start;margin-bottom:13px}
.nhe-ci .nhe-k{font-family:var(--nhe-serif);font-style:italic;color:var(--nhe-c2);flex:none;width:14px}
.nhe-foot ul{list-style:none;margin:0;padding:0}
.nhe-foot ul li{margin-bottom:12px}
.nhe-foot ul a{transition:.2s}
.nhe-foot ul a:hover{color:#fff;padding-left:4px}
.nhe-foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding:20px 0;display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:#76828a}
.nhe-foot-bottom .nhe-rainbow{width:70px;height:4px;opacity:.85}

/* ==========================================================================
   一般內容頁（Astra 內容區）品牌化間距
   ========================================================================== */
.ast-container{max-width:1440px}
.woocommerce-breadcrumb{color:var(--nhe-ink-soft);font-size:.82rem}

/* ==========================================================================
   響應式：行動版頁首
   ========================================================================== */
@media(max-width:980px){
  /* 手機版頁首不 sticky（改 relative：仍是行動選單下拉的定位基準，但會跟著捲走） */
  .nhe-head{position:relative;top:auto}
  .admin-bar .nhe-head{top:auto}
  .nhe-nav{position:absolute;top:100%;left:0;right:0;background:var(--nhe-paper);border-bottom:1px solid var(--nhe-line);flex-direction:column;align-items:stretch;gap:0;padding:8px 0;display:none;box-shadow:var(--nhe-shadow)}
  .nhe-head.nhe-nav-open .nhe-nav{display:flex}
  .nhe-nav a{padding:13px 28px}
  .nhe-nav a::after{display:none}
  .nhe-burger{display:block}
}
@media(max-width:560px){
  .nhe-foot-grid{grid-template-columns:1fr;gap:34px}
  .nhe-util .nhe-ph{display:none}
  /* 手機保留帳號入口：登入後只顯示頭像（點開選單）、未登入顯示登入/註冊 */
  .nhe-acct-in .nhe-hello,
  .nhe-acct-in .nhe-caret{display:none}
}
