@charset "UTF-8";
/* 讓短頁面也把頁尾推至底部；長內容照常捲動，不以固定定位遮住正文。 */
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body>main{flex:1 0 auto;min-width:0}
body>.preview-ribbon,body>.site-header,body>.site-footer{flex-shrink:0}
body>.site-footer{margin-top:auto;padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}
/* 手機底列預留兩側空間，讓右下角 TOP 按鈕不擋住版權與政策連結。 */
@media(max-width:760px){.site-footer .footer-bottom{padding-inline:48px}}
.brand-site small{font-size:12px;line-height:1.5;letter-spacing:.2em}
#main-nav{font-size:14px;gap:30px}
@media(min-width:1101px){.site-header:not(.storefront-header) #main-nav{gap:18px}}
.nav-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* 圖片占位的 span 高度不可套到隱藏提示，否則會撐出頁尾下方的空白。 */
.nav-sr-only.minagi-new-tab-hint{width:1px;height:1px}
.site-footer .footer-bottom{gap:18px 28px;flex-wrap:wrap}
.footer-policy-links{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;font-size:13px}
.footer-policy-links a:hover{text-decoration:underline;text-underline-offset:4px}
#main-nav .admin-nav-link{border:1px solid #cebea6;border-radius:6px;padding:8px 14px;color:#725637;background:#f3e9da;font-size:12px;white-space:nowrap}
#main-nav .admin-nav-link:hover{background:#eadeca;color:#62472e}
@media(max-width:1100px){.storefront-header #main-nav .admin-nav-link{padding:12px;margin:8px 0 3px;text-align:center}}
@media(max-width:760px){.site-header #main-nav .admin-nav-link{padding:12px;margin:8px 0 3px;text-align:center}}
/* The storefront owns one header; it is not a second row under the brand menu. */
.storefront-header #main-nav{gap:22px}
.storefront-header .brand small{font-size:9px;letter-spacing:.12em}
.storefront-header #main-nav .return-to-main{border-left:1px solid var(--line);padding-left:18px;margin-left:3px}
@media(max-width:1100px){
  .site-header .header-inner{position:relative;min-height:74px;padding-block:13px}
  .site-header .menu-toggle{display:block}
  .site-header #main-nav{display:none;position:absolute;top:100%;left:12px;right:12px;flex-direction:column;align-items:stretch;padding:10px 18px;gap:0;background:#fffcf7;border:1px solid var(--line);border-radius:4px;box-shadow:0 14px 25px #493b2f15}
  .site-header #main-nav.is-open{display:flex}
  .site-header #main-nav a{padding:13px 4px;font-size:14px}
  .site-header #main-nav a[aria-current]:after{width:18px;left:auto;right:6px;top:50%}
  .site-header #main-nav .admin-nav-link{padding:12px;margin:8px 0 3px;text-align:center}
  .storefront-header #main-nav .return-to-main{border-left:0;border-top:1px solid var(--line);padding-left:4px;margin-left:0}
}
@media(max-width:760px){
  #main-nav{gap:0}
  .storefront-header .brand small{font-size:8px}
  .site-header #main-nav>a:last-child{border-top:1px solid var(--line)}
}

/* Keep the copyright, business information and policy links on one typographic scale. */
.site-footer .footer-bottom{align-items:center;gap:14px 28px;font-family:"Noto Sans TC","Microsoft JhengHei",sans-serif;font-size:12px;font-weight:400;line-height:1.8;letter-spacing:0}
.site-footer .footer-bottom>span{flex:1 1 460px;font:inherit;letter-spacing:inherit;overflow-wrap:anywhere}
.site-footer .footer-bottom .footer-policy-links{align-items:center;justify-content:flex-start;gap:10px 24px;font:inherit;letter-spacing:inherit}
.site-footer .footer-bottom .footer-policy-links a{font:inherit;color:inherit;letter-spacing:inherit;white-space:nowrap}
@media(max-width:760px){.site-footer .footer-bottom{align-items:flex-start;gap:15px;padding-inline:0 64px;font-size:12px;line-height:1.8}.site-footer .footer-bottom>span{flex:0 1 auto}.site-footer .footer-bottom .footer-policy-links{gap:8px 20px}}
/* Logo subtitle stays readable; do not inherit the old 7–9px storefront rules. */
.site-header .brand small,.site-footer .brand small{display:block;margin-top:5px;color:#715547;font-family:"Noto Sans TC","Microsoft JhengHei",sans-serif;font-size:14px;font-weight:600;font-style:normal;line-height:1.5;letter-spacing:.12em}
@media(max-width:760px){.site-header .brand small,.site-footer .brand small{font-size:12px;line-height:1.5;letter-spacing:.08em;margin-top:4px}}
