/* Shared catalog/detail header. Search is a disclosure, never a checkout action. */
.nf-header-spacer {display:none}
body.nf-furusato-shell .nf-furusato-header__inner {
  display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;
  width:calc(100% - 32px);max-width:1050px;min-height:0;
  gap:0 16px;padding:10px 0 0!important;
}
body.nf-furusato-shell .nf-furusato-brand {grid-column:1;grid-row:1;min-width:0;max-width:300px}
body.nf-furusato-shell .nf-furusato-brand__text {overflow-wrap:anywhere;line-height:1.15}
body.nf-furusato-shell .nf-furusato-desktop-nav {grid-column:2;grid-row:1;flex-wrap:wrap;gap:0}
body.nf-furusato-shell .nf-furusato-desktop-nav a {white-space:normal;padding:8px;font-size:12px;min-height:44px}
body.nf-furusato-shell .nf-header-search-toggle {
  grid-column:4;grid-row:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:2px;min-width:48px;min-height:48px;margin:0;padding:3px 6px;
  border:0;border-radius:4px;background:transparent!important;color:#303731!important;
  font-size:11px;line-height:1.2;box-shadow:none;cursor:pointer;
}
body.nf-furusato-shell .nf-header-search-toggle svg {display:block;flex-shrink:0}
body.nf-furusato-shell .nf-header-tools {grid-column:4;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:10px}
body.nf-furusato-shell .nf-header-favorites {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:48px;min-width:70px;margin:0;padding:3px 4px;border:0;border-radius:4px;box-shadow:none;background:transparent!important;color:#303731!important;font-size:11px;line-height:1.2;white-space:nowrap;cursor:pointer}
body.nf-furusato-shell .nf-header-favorites[hidden] {display:none!important}
body.nf-furusato-shell a.nf-header-favorites {text-decoration:none}
body.nf-furusato-shell a.nf-header-favorites[aria-current=page] {background:#f3f4f0!important}
body.nf-furusato-shell .nf-header-favorites:hover {background:#f3f4f0!important}
body.nf-furusato-shell .nf-header-favorites:focus-visible {outline:2px solid var(--nf-accent,#25963a);outline-offset:2px}
body.nf-furusato-shell .nf-header-search-toggle[hidden],
body.nf-furusato-shell .nf-header-search-panel[hidden],
body.nf-furusato-shell .nf-header-search-close[hidden] {display:none!important}
body.nf-furusato-shell .nf-header-search-toggle:hover,
body.nf-furusato-shell .nf-header-search-toggle[aria-expanded=true] {background:#f3f4f0!important}
body.nf-furusato-shell .nf-header-search-toggle:focus-visible,
body.nf-furusato-shell .nf-header-search-close:focus-visible {outline:2px solid var(--nf-accent,#25963a);outline-offset:2px}
body.nf-furusato-shell .nf-header-browse {
  display:grid;grid-template-columns:1fr 1fr;grid-column:1/-1;grid-row:2;
  width:100%;max-width:none;margin:8px 0 0;padding:0;border-top:1px solid #e5e2dc;
}
body.nf-furusato-shell .nf-header-browse a {
  display:flex;align-items:center;justify-content:center;gap:12px;
  min-width:0;min-height:46px;padding:8px 4px;box-sizing:border-box;
  color:#303731!important;font-size:15px;font-weight:700;line-height:1.4;text-decoration:none;
}
body.nf-furusato-shell .nf-header-browse a+a {border-left:1px solid #e5e2dc}
body.nf-furusato-shell .nf-header-browse a:hover {background:#f6f5f2}
body.nf-furusato-shell .nf-header-browse a:focus-visible {outline:2px solid currentColor;outline-offset:-3px}
/* Keep the original trigger elements for the existing selection dialog, without duplicate entrances. */
body.nf-furusato-shell:has(.nf-header-browse) .nf-browse-nav {display:none!important}
body.nf-furusato-shell .nf-header-search-panel {
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:16px max(12px,calc((100% - 1050px)/2));background:#fff;border-top:1px solid #e5e2dc;
}
body.nf-furusato-shell .nf-header-enhanced .nf-header-search-panel {
  position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 16px rgba(0,0,0,.09);
  max-height:calc(100dvh - 140px);overflow:auto;
}
body.nf-furusato-shell .nf-header-enhanced.nf-header-at-top .nf-header-search-panel {
  position:static;box-shadow:none;
}
body.nf-furusato-shell .nf-header-search-panel .nf-furusato-header-search {
  display:grid;grid-template-columns:minmax(0,1fr) 64px auto;
  flex:1 1 auto;max-width:720px;min-width:0;margin:0;order:0;
}
body.nf-furusato-shell .nf-header-search-panel input {font-size:16px;min-width:0}
body.nf-furusato-shell .nf-header-search-close {
  flex:0 0 44px;width:44px;height:44px;padding:0;border:0;background:#f5f5f2!important;
  color:#303731!important;font-size:26px;line-height:1;cursor:pointer;border-radius:4px;
}
body.nf-furusato-shell .nf-furusato-menu-button {grid-column:3;grid-row:1;margin:0}
body.nf-furusato-shell .nf-header-compact .nf-furusato-menu-button:not([hidden]) {
  display:block;flex:0 0 42px;width:42px;height:44px;padding:6px;border:1px solid #dfe4de;border-radius:6px;background:#fff;cursor:pointer;
}
body.nf-furusato-shell .nf-header-compact .nf-furusato-menu-button>span {display:block;width:20px;height:2px;margin:3px auto;background:#313833}
body.nf-furusato-shell .nf-header-compact .nf-furusato-menu-button>b {display:block;margin-top:3px;color:#59615b;font-size:8px;line-height:1}
body.nf-furusato-shell .nf-furusato-mobile-menu:not([hidden]) {
  position:absolute;top:100%;right:0;left:0;width:100%;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:0;border:1px solid #e2e6e0;border-right:0;border-left:0;border-radius:0;background:#fff;
  box-shadow:0 14px 32px rgba(25,40,28,.13);max-height:calc(100dvh - 160px);overflow:auto;
}
body.nf-furusato-shell .nf-furusato-mobile-menu a,
body.nf-furusato-shell .nf-furusato-mobile-menu .nf-recent-entry--menu {display:flex;align-items:center;justify-content:center;min-width:0;min-height:64px;margin:0;padding:12px 10px;border:0;border-right:1px solid #e5e9e4;border-bottom:1px solid #e5e9e4;border-radius:0;background:#fff;color:#283029!important;font-size:14px;font-weight:700;line-height:1.45;text-align:center;text-decoration:none!important;box-sizing:border-box}
body.nf-furusato-shell .nf-furusato-mobile-menu>:nth-child(2n) {border-right:0}
@media(min-width:981px) {
  body.nf-furusato-shell .nf-furusato-header__inner {grid-template-columns:auto minmax(0,1fr) auto;gap:8px 24px;padding:14px 0 8px!important}
  body.nf-furusato-shell .nf-header-tools {grid-column:3;grid-row:2}
  body.nf-furusato-shell .nf-furusato-brand {max-width:none;flex-wrap:nowrap;gap:11px}
  body.nf-furusato-shell .nf-furusato-brand__sub {display:block;font-size:12px;padding-left:11px;white-space:nowrap}
  body.nf-furusato-shell .nf-furusato-brand__sub:before {display:block}
  body.nf-furusato-shell .nf-header-search-toggle {grid-column:3;grid-row:2}
  body.nf-furusato-shell .nf-furusato-menu-button,
  body.nf-furusato-shell .nf-header-compact .nf-furusato-menu-button:not([hidden]) {display:none}
  body.nf-furusato-shell .nf-header-browse {display:flex;align-items:stretch;justify-content:space-between;flex-wrap:wrap;grid-column:1/3;grid-row:2;border:0;margin:0;gap:0 16px}
  body.nf-furusato-shell .nf-header-browse a {flex:0 1 auto;font-size:15px;padding:8px 0;gap:0;white-space:nowrap;min-height:48px}
  body.nf-furusato-shell .nf-header-browse a+a {border-left:0}
  body.nf-furusato-shell .nf-header-compact .nf-furusato-header__inner {padding:8px 0!important}
  body.nf-furusato-shell .nf-header-search-panel,
  body.nf-furusato-shell .nf-header-enhanced.nf-header-at-top .nf-header-search-panel {grid-column:2/-1;grid-row:1;justify-self:end;width:min(100%,460px);padding:0;border:0}
  /* An absolute grid child must not inherit the top-row search's end alignment.
     Keep a full-width strip below the compact header and a centered, usable form. */
  body.nf-furusato-shell .nf-header-enhanced:not(.nf-header-at-top) .nf-header-search-panel {
    grid-column:1/-1;grid-row:auto;justify-self:stretch;box-sizing:border-box;
    left:0;right:0;width:100%;max-width:none;gap:12px;
    padding:16px max(24px,calc((100% - 1050px)/2));border-top:1px solid #e5e2dc;
  }
  body.nf-furusato-shell .nf-header-enhanced:not(.nf-header-at-top) .nf-header-search-panel .nf-furusato-header-search {
    width:100%;max-width:720px;flex:0 1 720px;grid-template-columns:minmax(0,1fr) 80px;
  }
  /* Desktop: expanded two-row header at the top, one row while browsing. */
  body.nf-furusato-shell .nf-header-spacer.is-active {display:block;flex:none;pointer-events:none}
  body.nf-furusato-shell .nf-header-enhanced.nf-header-compact {position:fixed;left:0;right:0}
  body.nf-furusato-shell .nf-header-compact .nf-furusato-header__inner {
    grid-template-columns:auto minmax(0,1fr) auto;gap:0 clamp(24px,2.4vw,36px);min-height:64px;padding:6px 0!important;
  }
  body.nf-furusato-shell .nf-header-compact .nf-furusato-brand {gap:7px;max-width:210px}
  body.nf-furusato-shell .nf-header-compact .nf-furusato-brand__logo {height:30px;max-width:126px}
  body.nf-furusato-shell .nf-header-compact .nf-furusato-brand__text {font-size:20px}
  body.nf-furusato-shell .nf-header-compact .nf-furusato-brand__sub {font-size:10px;padding-left:7px;letter-spacing:0}
  body.nf-furusato-shell .nf-header-compact .nf-furusato-brand__sub:before {height:20px}
  body.nf-furusato-shell .nf-header-compact .nf-header-browse {
    grid-column:2;grid-row:1;gap:0 clamp(20px,2vw,32px);align-items:center;justify-content:center;
  }
  body.nf-furusato-shell .nf-header-compact .nf-header-browse a {font-size:13px;min-height:44px;padding:6px 0;white-space:normal;overflow-wrap:anywhere}
  body.nf-furusato-shell .nf-header-compact .nf-header-tools {grid-column:3;grid-row:1;gap:4px}
  body.nf-furusato-shell .nf-header-compact .nf-header-favorites {min-width:60px;min-height:44px;font-size:10px}
  body.nf-furusato-shell .nf-header-compact .nf-header-search-toggle {min-width:44px;min-height:44px;font-size:10px}
}
@media(max-width:980px) {
  body.nf-furusato-shell .nf-header-tools {grid-column:3;grid-row:1;gap:4px}
  body.nf-furusato-shell .nf-header-favorites {min-width:58px;font-size:10px;min-height:44px}
  body.nf-furusato-shell .nf-header-browse .nf-header-info-link {display:none}
  body.nf-furusato-shell .nf-furusato-header__inner {width:calc(100% - 20px);grid-template-columns:minmax(0,1fr) auto auto;gap:0 6px;padding:6px 0 0!important}
  body.nf-furusato-shell .nf-furusato-desktop-nav {display:none}
  body.nf-furusato-shell .nf-furusato-menu-button {grid-column:2}
  body.nf-furusato-shell .nf-header-search-toggle {grid-column:3;min-width:44px;min-height:44px}
  body.nf-furusato-shell .nf-header-browse {margin-top:6px}
  body.nf-furusato-shell .nf-header-browse a {min-height:48px;font-size:clamp(13px,3.8vw,16px);gap:6px}
  body.nf-furusato-shell .nf-header-browse a.nf-header-browse__mobile-hidden {display:none}
  body.nf-furusato-shell .nf-header-compact .nf-furusato-brand__logo {height:28px;max-width:135px}
  body.nf-furusato-shell .nf-header-compact .nf-furusato-brand__text {font-size:20px}
  body.nf-furusato-shell .nf-header-search-panel {padding:10px;gap:4px}
  body.nf-furusato-shell .nf-header-enhanced.nf-header-at-top .nf-header-search-panel {grid-column:1/-1;grid-row:3;padding:10px 0}
  body.nf-furusato-shell .nf-header-search-panel .nf-furusato-header-search {grid-template-columns:minmax(0,1fr) 52px}
}
@media(max-width:380px) {
  body.nf-furusato-shell .nf-furusato-brand__sub {display:none}
}
@media(max-width:600px) {
  /* WordPress's mobile admin bar scrolls away, so it must not leave a permanent gap. */
  body.admin-bar.nf-furusato-shell .nf-header-compact {top:0}
}

/* The registration page keeps a single centered brand. Override the shared
   header grid's asymmetric top/bottom padding with equal spacing. */
body.nf-furusato-shell.nf-member-register-page-shell .nf-furusato-header__inner,
body.nf-furusato-shell.nf-member-login-page-shell .nf-furusato-header__inner{
  grid-template-columns:1fr;
  padding:14px 0!important;
}
body.nf-furusato-shell.nf-member-register-page-shell .nf-furusato-brand,
body.nf-furusato-shell.nf-member-login-page-shell .nf-furusato-brand{
  justify-self:center;
}
@media(max-width:640px){
  body.nf-furusato-shell.nf-member-register-page-shell .nf-furusato-header__inner,
  body.nf-furusato-shell.nf-member-login-page-shell .nf-furusato-header__inner{
    width:100%;
    min-height:56px;
    padding:12px 0!important;
  }
}
