/* Shared header; keeps the CMS member-state and route contracts. */
.portal-site-header{position:sticky;top:0;z-index:999;background:#fffdf7}
.portal-site-header .sticky-active,.portal-site-header .sticky-active.active{position:relative!important;top:auto!important;left:auto!important;right:auto!important;transform:none!important;animation:none!important;box-shadow:none!important}
.portal-site-header.is-scrolled{box-shadow:0 5px 18px #30251c17}
html{scroll-padding-top:130px}
.portal-site-header .container{max-width:1320px}
.portal-site-header .portal-utility{background:#38291f;color:#e9dfce;font-size:11px;letter-spacing:.05em}
.portal-utility-inner{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:34px}
.portal-utility-info{display:flex;align-items:center;gap:18px;min-width:0}
.portal-calendar{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:0}
.portal-calendar [data-portal-lunar]:not(:empty){padding-left:10px;border-left:1px solid #ffffff2e}
.portal-weather{position:relative;flex-shrink:0;letter-spacing:0}
.portal-weather summary{display:flex;align-items:center;gap:6px;cursor:pointer;list-style:none;white-space:nowrap;min-height:34px;font-size:11px}
.portal-weather summary::-webkit-details-marker{display:none}
.portal-weather summary>.fa-angle-down{font-size:9px}
.portal-weather-panel{position:absolute;z-index:100;top:calc(100% + 7px);right:0;width:220px;padding:16px;background:#fffdf7;color:#4b3a2c;border:1px solid #d8c8ad;box-shadow:0 12px 28px #21180e20;font-size:12px;line-height:1.8}
.portal-weather-panel p{font-size:inherit;line-height:inherit;margin:0;color:inherit}
.portal-weather-panel .portal-weather-place{font-size:13px;font-weight:600;margin-bottom:9px}
.portal-weather-hour{display:flex;justify-content:space-between;gap:10px;padding:4px 0;border-top:1px solid #e9e0d2}
.portal-weather-panel .portal-weather-source{font-size:10px;color:#8e7a62;margin-top:10px}
.portal-weather-panel a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.portal-motto{margin:0;color:#e9dfce;font-size:11px;letter-spacing:.13em}
.portal-account-links{display:flex;align-items:center;gap:17px;min-height:34px}
.portal-account-links a{display:inline-flex;align-items:center;gap:7px;color:#f2e9db;white-space:nowrap;font-size:11px;line-height:1.4}
.portal-account-links a:hover,.portal-account-links a:focus-visible{color:#dfbd86}
.portal-cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;font-size:10px;color:#fff0ce;border:1px solid #9c8062;border-radius:50%;padding:0 3px}
.portal-signed-user span{max-width:110px;overflow:hidden;text-overflow:ellipsis}
.portal-site-header .header-inner{position:relative!important;left:auto;right:auto;background:#fffdf8!important;border-bottom:1px solid #ddd2c0;box-shadow:none}
.portal-site-header .header-inner:before,.portal-site-header .header-inner:after{display:none!important}
.portal-header-main{display:grid;grid-template-columns:165px minmax(0,1fr) 170px;align-items:center;gap:20px;min-height:86px}
.portal-site-header .header-logo{padding:0}
.portal-site-header .header-logo img{display:block;max-width:155px;max-height:58px;object-fit:contain}
.portal-site-header .portal-main-nav{justify-self:center}
.portal-site-header .main-menu>ul{display:flex;align-items:center;gap:21px;margin:0;padding:0}
.portal-site-header .main-menu>ul>li{margin:0}
.portal-site-header .main-menu>ul>li>a{position:relative;padding:29px 0!important;font-family:"PingFang SC","Microsoft YaHei",sans-serif;font-size:13px!important;font-weight:600!important;letter-spacing:.015em;line-height:27px;color:#29231e!important}
.portal-site-header .main-menu>ul>li>a:before{content:"";position:absolute;left:0;right:0;bottom:19px;top:auto;height:2px!important;width:0;background:#8e2019!important;transition:width .2s ease;transform:none}
.portal-site-header .main-menu>ul>li>a:hover:before,.portal-site-header .main-menu>ul>li>a.active:before,.portal-site-header .main-menu>ul>li>a[aria-current="page"]:before{width:100%}
.portal-site-header .main-menu>ul>li>a.active,.portal-site-header .main-menu>ul>li>a:hover{color:#8e2019!important}
.portal-site-header .main-menu .menu-item-has-children>a:after{font-size:9px;margin-left:5px;color:#715c42!important}
.portal-site-header .main-menu ul.sub-menu{top:100%;margin-top:0;padding:10px!important;min-width:190px!important;background:#fffdf8!important;border:1px solid #dfd4c3;border-top:2px solid #926c3f;box-shadow:0 14px 32px #38291f14!important}
.portal-site-header .main-menu li:focus-within>ul.sub-menu{opacity:1;visibility:visible;transform:none;margin-top:0}
.portal-site-header .main-menu ul.sub-menu li{margin:0;padding:0}
.portal-site-header .main-menu ul.sub-menu li a{padding:10px 12px;font-size:13px!important;border-bottom:1px solid #eee6da}
.portal-site-header .main-menu ul.sub-menu li:last-child a{border-bottom:0}
.portal-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:13px}
.portal-search{display:flex;align-items:center;width:170px;height:34px;margin:0;border:1px solid #cdbfae;background:#fffdf8}
.portal-search input[type=search]{width:calc(100% - 35px);min-width:0;height:32px;padding:0 10px;margin:0;border:0;border-radius:0;background:transparent;font-size:11px;color:#30251c;box-shadow:none;line-height:32px}
.portal-search input::placeholder{color:#9b8d7d;letter-spacing:.02em}
.portal-search button{display:flex;justify-content:center;align-items:center;flex:0 0 35px;width:35px;height:33px;margin:0;border:0;border-radius:0;background:#8e2019;color:#fff;font-size:14px}
.portal-search button:hover{background:#66201a}
.portal-menu-button,.portal-search-toggle{display:none!important}
.portal-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}
.portal-site-header a:focus-visible,.portal-site-header button:focus-visible,.portal-search input:focus-visible{outline:2px solid #b38a52;outline-offset:4px}
.portal-mobile-services{display:grid;gap:12px;padding:24px 35px;text-align:left;border-top:1px solid #e0d6c7}
.portal-mobile-services a{font-size:13px;color:#493725;display:flex;gap:12px;align-items:center}
.vs-menu-area .portal-menu-close{border-radius:0;width:38px;height:38px;right:16px;top:16px;background:#ece4d5;color:#493725!important}
.vs-menu-wrapper .mobile-logo{padding-top:60px;padding-bottom:24px}
.vs-menu-wrapper .mobile-logo img{max-height:64px;max-width:170px}
.vs-menu-wrapper .vs-mobile-menu a{font-family:"PingFang SC","Microsoft YaHei",sans-serif!important}
@media(max-width:1399px) and (min-width:1200px){.portal-header-main{grid-template-columns:145px minmax(0,1fr) 155px;gap:16px}.portal-site-header .main-menu>ul{gap:16px}.portal-search{width:155px}.portal-site-header .header-logo img{max-width:142px}}
@media(max-width:1199px){.portal-main-nav{display:none!important}.portal-header-main{grid-template-columns:1fr auto;min-height:76px;gap:15px}.portal-header-actions{grid-column:2}.portal-menu-button{display:inline-flex!important;align-items:center;justify-content:center;width:37px;height:37px;padding:0;border:1px solid #cdbfae;border-radius:0;background:transparent!important;color:#493725!important;font-size:17px}.portal-site-header .header-logo img{max-height:52px;max-width:150px}.portal-account-links{gap:13px}.portal-motto{font-size:10px}}
@media(max-width:767px){.portal-utility-inner{justify-content:flex-end;gap:0}.portal-motto{display:none}.portal-account-links{gap:14px;min-height:33px}.portal-account-links a{font-size:10px}.portal-account-links .portal-member-entry{display:none}.portal-header-main{min-height:70px;position:relative}.portal-search-toggle{display:inline-flex!important;align-items:center;justify-content:center;width:30px;height:35px;padding:0;border:0;background:transparent;color:#493725;font-size:19px}.portal-search{display:none;position:absolute;right:12px;left:12px;top:70px;width:auto;height:46px;box-shadow:0 6px 12px #30251c14}.portal-search.is-open{display:flex}.portal-search input[type=search]{height:44px;font-size:14px;line-height:44px;width:calc(100% - 46px)}.portal-search button{height:45px;flex-basis:46px}.portal-site-header .header-logo img{max-width:142px;max-height:50px}.portal-account-links .portal-orders i{display:none}.portal-cart-count{width:15px;min-width:15px;height:15px}.portal-signout{display:none!important}}
@media(max-width:359px){.portal-account-links{gap:9px}.portal-account-links .portal-orders{display:none}}
@media(prefers-reduced-motion:reduce){.portal-site-header *{transition:none!important}}
@media(max-width:1399px){.portal-utility-info .portal-motto{display:none}}
@media(max-width:767px){.portal-utility-inner{flex-wrap:wrap;justify-content:flex-end}.portal-utility-info{width:100%;justify-content:space-between;gap:8px;border-bottom:1px solid #ffffff12}.portal-calendar{font-size:10px;gap:7px}.portal-calendar [data-portal-lunar]:not(:empty){padding-left:7px}.portal-weather summary{min-height:30px;font-size:10px;gap:4px}.portal-weather-panel{top:100%;right:0}.portal-account-links{min-height:29px}.portal-account-links a{font-size:10px}}
@media(max-width:359px){.portal-calendar{font-size:9px;gap:5px}.portal-calendar [data-portal-lunar]:not(:empty){padding-left:5px}.portal-weather summary{font-size:9px;gap:3px}.portal-weather summary>.fa-angle-down{display:none}}
