/* Category / region chooser. Only catalog entry points and their dialog. */
@media(min-width:981px) {
 body.nf-furusato-shell:has(.nf-header-browse) .nf-browse-nav {display:none}
}
@media(min-width:821px) {
 body.nf-browse-sidebar-desktop .nf-catalog-category-sidebar .nf-catalog-category-filter-card {display:block!important;scroll-margin-top:180px}
}
body.nf-browse-open {overflow:hidden}
body.nf-browse-open .nf-filter-pending {display:none!important}
body.nf-furusato-shell .nf-browse-nav {display:grid;grid-template-columns:1fr 1fr;margin:0 0 20px;padding:0;background:#f6f5f2;border-top:1px solid #e2dfd8;border-bottom:1px solid #e2dfd8}
body.nf-furusato-shell .nf-browse-nav:has(.nf-browse-trigger:only-child) {grid-template-columns:1fr}
body.nf-furusato-shell .nf-browse-trigger {display:flex;align-items:center;justify-content:center;gap:18px;min-height:56px;padding:12px 16px;border:0;border-radius:0;background:transparent!important;color:#292923!important;font-size:17px;line-height:1.5;font-weight:700;cursor:pointer;box-shadow:none;margin:0;min-width:0}
body.nf-furusato-shell .nf-browse-trigger+button {border-left:1px solid #dedbd3}
body.nf-furusato-shell .nf-browse-trigger>span:last-child {color:#797453;font-weight:400;font-size:22px}
body.nf-furusato-shell .nf-browse-trigger:hover {background:#eeece6}
body.nf-furusato-shell .nf-browse-trigger:focus-visible,.nf-browse-dialog button:focus-visible,.nf-browse-dialog input:focus-visible {outline:2px solid var(--nf-accent,#876d44);outline-offset:-3px}
dialog.nf-browse-dialog {position:fixed;inset:0;width:min(1000px,calc(100% - 48px));max-width:none;max-height:90vh;max-height:90dvh;margin:auto;padding:0;border:0;border-radius:0;color:#292923;background:#f5f5f3;box-shadow:0 12px 50px #0003;font-family:inherit;box-sizing:border-box;overflow:hidden}
dialog.nf-browse-dialog[open] {display:flex;flex-direction:column}
.nf-browse-dialog::backdrop {background:rgba(0,0,0,.4)}
.nf-browse-dialog * {box-sizing:border-box}
.nf-browse-head {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;background:#eeede9;flex-shrink:0}
.nf-browse-head h2 {font-size:24px;line-height:1.5;margin:0;padding:0;border:0;background:none;color:inherit}
.nf-browse-dialog .nf-browse-close {width:44px;height:44px;padding:0;background:transparent;border:1px solid #777568;border-radius:0;color:#36362e;font-size:30px;font-weight:400;line-height:1;cursor:pointer}
.nf-browse-tabs {display:flex;gap:0;background:#fff;border-bottom:1px solid #ddd9ce;flex-shrink:0}
.nf-browse-tabs button {flex:1;min-height:48px;margin:0;border:0;border-radius:0;background:#fff;color:#555346;font-size:15px;line-height:1.5;padding:10px;cursor:pointer}
.nf-browse-tabs button[aria-pressed=true] {box-shadow:inset 0 -3px #827952;background:#f8f7f3;font-weight:700}
.nf-browse-content {padding:20px;overflow:auto;overscroll-behavior:contain;min-height:0}
.nf-browse-dialog .nf-catalog-category-filter-card {display:block!important;margin:0!important;padding:0!important;border:0!important;background:none!important;min-width:0;box-shadow:none!important}
.nf-browse-dialog .nf-catalog-category-filter-card[hidden] {display:none!important}
.nf-browse-dialog legend {display:none!important}
.nf-browse-dialog .nf-category-tree-help {font-size:13px;line-height:1.6;color:#6f6d63;margin:0 0 14px}
.nf-browse-dialog .nf-catalog-category-tree {display:grid!important;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:10px;max-height:none!important;overflow:visible!important;border:0!important;padding:0!important;background:none!important}
.nf-browse-dialog .nf-catalog-product-category-tree--scrollable {overflow-y:auto!important;overscroll-behavior:contain}
.nf-browse-dialog .nf-category-tree-item {min-width:0;margin:0!important;border:0!important}
.nf-browse-dialog .nf-catalog-category-tree>.nf-category-tree-item {background:#fff;border:1px solid #dcd9cf!important;padding:8px}
.nf-browse-dialog .nf-category-tree-row {display:flex;align-items:center;gap:6px;border:0!important;background:transparent!important;padding:0!important;margin:0!important;min-width:0}
.nf-browse-dialog .nf-category-tree-choice {display:flex;align-items:center;gap:7px;flex:1;min-width:0;min-height:44px;padding:6px!important;margin:0!important;color:#302f28!important;font-size:14px!important;line-height:1.5!important;cursor:pointer}
.nf-browse-dialog .nf-category-tree-name {flex:1;min-width:0;overflow-wrap:anywhere;text-decoration:none!important;line-height:1.5!important;font-size:inherit!important}
.nf-browse-dialog .is-level-1>.nf-category-tree-row .nf-category-tree-name {font-weight:700}
.nf-browse-dialog .nf-category-tree-count {font-size:11px!important;line-height:1.4;color:#827f74;white-space:nowrap}
.nf-browse-dialog input[type=checkbox] {appearance:auto!important;-webkit-appearance:checkbox!important;width:18px!important;height:18px!important;min-width:18px!important;margin:0!important;flex:0 0 18px;accent-color:var(--nf-accent,#817348)}
.nf-browse-dialog .nf-category-tree-toggle {width:32px!important;min-width:32px!important;height:36px!important;flex:0 0 32px;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:#f4f3ef!important;color:#70694c!important;font-size:11px!important;cursor:pointer}
.nf-browse-dialog .nf-category-tree-children {padding:4px 0 0 10px!important;margin:0!important;border:0!important;border-top:1px solid #eeece7!important;background:transparent!important}
.nf-browse-dialog .nf-category-tree-children[hidden] {display:none!important}
.nf-browse-dialog .nf-category-tree-choice:has(input:checked),.nf-browse-dialog .nf-category-tree-choice:has(input:indeterminate) {background:#f1f2e9!important}
.nf-browse-dialog .nf-municipality-tree-check+.nf-category-tree-name {font-weight:600}
.nf-browse-footer {display:flex;align-items:center;gap:12px;flex-shrink:0;padding:14px 20px;background:#fff;border-top:1px solid #ddd9ce}
.nf-browse-status {flex:1;font-size:13px;line-height:1.5;margin:0}
.nf-browse-footer button {min-height:46px;font-size:15px;line-height:1.5;padding:10px 20px;border-radius:0;cursor:pointer}
.nf-browse-dialog .nf-browse-cancel {background:#fff;color:#555346;border:1px solid #aaa79a}
.nf-browse-dialog .nf-browse-apply {background:var(--nf-accent,#817348);color:#fff;border:1px solid var(--nf-accent,#817348);font-weight:700}
body.nf-furusato-shell dialog.nf-browse-dialog .nf-browse-close {background:transparent!important;color:#36362e!important}
body.nf-furusato-shell dialog.nf-browse-dialog .nf-browse-tabs button {background:#fff!important;color:#555346!important}
body.nf-furusato-shell dialog.nf-browse-dialog .nf-browse-tabs button[aria-pressed=true] {background:#f8f7f3!important}
body.nf-furusato-shell dialog.nf-browse-dialog .nf-browse-cancel {background:#fff!important;color:#555346!important}
body.nf-furusato-shell dialog.nf-browse-dialog .nf-browse-apply {background:var(--nf-accent,#817348)!important;color:#fff!important}
.nf-browse-dialog button:disabled {opacity:.55;cursor:wait}
.nf-browse-dialog #nf_catalog_municipality_tree {display:block!important}
.nf-browse-region-group {margin:0 0 14px;padding:14px;background:#fff;border:1px solid #ddd9ce}
.nf-browse-region-group>h3,.nf-browse-region-heading {font-size:17px;line-height:1.5;margin:0 0 10px;padding:0;background:none;border:0;color:#6b6244}
.nf-browse-region-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.nf-browse-region-grid>.nf-category-tree-item {border:1px solid #e5e1d7!important;padding:5px}
.nf-browse-region-grid>.nf-category-tree-item:has(.nf-category-tree-children) {grid-column:1/-1}
.nf-browse-region-grid>.nf-category-tree-item>.nf-category-tree-children:not([hidden]) {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.nf-browse-dialog [data-region-mode=single_prefecture] .is-level-1>.nf-category-tree-row>.nf-category-tree-toggle {display:none!important}
@media(max-width:820px) {
 body.nf-furusato-shell .nf-browse-nav {margin:0 0 12px}
 body.nf-furusato-shell .nf-browse-trigger {min-height:52px;font-size:clamp(13px,3.9vw,16px);padding:10px 6px;gap:8px}
 body.nf-furusato-shell .nf-browse-trigger>span:last-child {font-size:18px}
 dialog.nf-browse-dialog {width:100%;height:100%;max-height:100%;max-height:100dvh;margin:0}
 .nf-browse-head {padding:10px 14px}
 .nf-browse-head h2 {font-size:20px}
 .nf-browse-content {padding:12px;flex:1}
 .nf-browse-region-group {padding:8px}
 .nf-browse-region-grid,.nf-browse-region-grid>.nf-category-tree-item>.nf-category-tree-children:not([hidden]) {grid-template-columns:repeat(2,minmax(0,1fr))}
 .nf-browse-dialog .nf-catalog-category-tree {grid-template-columns:1fr;gap:8px}
 .nf-browse-dialog #nf_catalog_municipality_tree {grid-template-columns:repeat(2,minmax(0,1fr))}
 .nf-browse-dialog #nf_catalog_municipality_tree>.nf-category-tree-item:has(.nf-category-tree-children) {grid-column:1/-1}
 .nf-browse-dialog .nf-category-tree-choice {font-size:15px!important;flex-wrap:wrap}
 .nf-browse-dialog .nf-category-tree-count {font-size:10px!important}
 .nf-browse-footer {display:grid;grid-template-columns:1fr 2fr;padding:10px 12px max(10px,env(safe-area-inset-bottom));gap:8px}
 .nf-browse-status {grid-column:1/-1}
 .nf-browse-footer button {padding:10px 8px}
}
