/* Shared desktop reading width. Restricted to the catalog shell; mobile is unchanged. */
/* The catalog supplies its own browse sidebar. Theme sidebars otherwise appear
   below the catalog on fresh Cocoon installations and duplicate navigation. */
body.nf-furusato-shell #content-in>#sidebar,
body.nf-furusato-shell .sidebar-menu-button{display:none!important}
body.nf-furusato-shell #content-in>main.main{
  box-sizing:border-box;
  width:100%!important;
  max-width:none!important;
}
body.nf-furusato-shell .nf-furusato-header-search input {padding:0 12px!important;min-height:44px;border:1px solid #cfd5ce!important;border-right:0!important;font-size:14px;line-height:1.5}
body.nf-furusato-shell .nf-furusato-header-search button[type=submit] {padding:0 8px!important;min-height:44px;white-space:nowrap;background:var(--nf-accent,#25963a)!important;color:#fff!important;border:0!important;line-height:1.5}
body.nf-furusato-shell .nf-furusato-header-search .nf-furusato-refine-button {padding:0 9px!important;background:#fff!important;color:var(--nf-accent-dark,#187f2c)!important;border:1px solid var(--nf-accent,#25963a)!important;line-height:1.5}
body.nf-furusato-shell .nf-furusato-menu-button {padding:6px!important;background:#fff!important;color:#313833!important;border:1px solid #dfe4de!important}
@media (min-width:981px) {
  body.nf-furusato-shell .nf-furusato-header__inner,
  body.nf-furusato-shell .nf-catalog-container,
  body.nf-furusato-shell .nf-single-container,
  body.nf-furusato-shell .nf-special-wrap:not(.is-mobile-preview) {
    box-sizing:border-box;
    width:calc(100% - 48px)!important;
    max-width:1050px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body.nf-furusato-shell .nf-catalog-main-layout {
    grid-template-columns:220px minmax(0,1fr);
    gap:24px;
  }
  body.nf-furusato-shell .nf-catalog-main-column .nf-catalog-grid {
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:16px!important;
  }
  body.nf-furusato-shell .nf-catalog-card {min-width:0}
  body.nf-furusato-shell .nf-catalog-main-column .nf-catalog-card h3 {font-size:15px;line-height:1.6}
  body.nf-furusato-shell .nf-catalog-main-column .nf-catalog-price {overflow-wrap:anywhere}
  body.nf-furusato-shell .nf-catalog-products-head {flex-wrap:wrap;align-items:flex-end}
  body.nf-furusato-shell .nf-catalog-products-head h2 {overflow-wrap:anywhere}
  body.nf-furusato-shell .nf-furusato-desktop-nav {flex-wrap:wrap;justify-content:flex-end}
}

/* Desktop catalog at normal browser zoom. Do not change mobile or user zoom. */
@media (min-width:981px) {
  /* Cocoon wraps the plugin main in its own padded main. Avoid double gutters. */
  body.nf-furusato-shell #content:has(.nf-catalog-page) {margin-top:20px}
  body.nf-furusato-shell #content-in:has(.nf-catalog-page) {width:100%;max-width:none;padding:0}
  body.nf-furusato-shell #content-in>main.main:has(>.nf-catalog-page) {
    width:100%;max-width:none;padding:0!important;margin:0;border:0;background:transparent;
  }
  body.nf-furusato-shell .nf-catalog-page {font-size:16px;line-height:1.6}
  body.nf-furusato-shell .nf-catalog-main-layout {grid-template-columns:210px minmax(0,1fr);gap:24px}
  body.nf-furusato-shell .nf-catalog-products-head {gap:12px;margin-bottom:14px}
  body.nf-furusato-shell .nf-catalog-products-head h2 {font-size:24px;line-height:1.4}
  body.nf-furusato-shell .nf-catalog-count strong {font-size:24px;line-height:1.4}
  body.nf-furusato-shell .nf-catalog-sort-controls select {font-size:14px;line-height:1.5;max-width:100%;height:42px}
  body.nf-furusato-shell .nf-catalog-list-controls {gap:12px;min-width:0}
  body.nf-furusato-shell .nf-catalog-main-column .nf-catalog-card {border-radius:10px}
  body.nf-furusato-shell .nf-catalog-main-column .nf-catalog-card-body {padding:12px;line-height:1.5}
  body.nf-furusato-shell .nf-catalog-main-column .nf-catalog-card h3 {
    font-size:15px;line-height:1.5;min-height:4.5em;-webkit-line-clamp:3;
  }
  body.nf-furusato-shell .nf-catalog-main-column .nf-catalog-price {font-size:16px;line-height:1.5;margin-top:9px}
  body.nf-furusato-shell .nf-catalog-detail-button {
    display:flex;align-items:center;justify-content:center;box-sizing:border-box;
    font-size:14px;line-height:1.5;min-height:42px;padding:8px;margin-top:10px;
  }
  body.nf-furusato-shell .nf-catalog-card .nf-discovery-actions {display:flex;gap:6px;margin:8px 0 0}
  body.nf-furusato-shell .nf-catalog-card .nf-discovery-actions button {
    flex:1 1 0;min-width:0;min-height:36px;padding:6px 4px;font-size:12px;line-height:1.5;
    white-space:normal;overflow-wrap:anywhere;
  }
  body.nf-furusato-shell .nf-catalog-page .nf-discovery-toolbar {gap:8px;margin:14px 0}
  body.nf-furusato-shell .nf-catalog-page .nf-discovery-toolbar button {font-size:14px;line-height:1.5;min-height:40px;padding:8px 12px}
  body.nf-furusato-shell .nf-catalog-page .nf-feature-head h2 {font-size:21px;line-height:1.4}
  body.nf-furusato-shell .nf-catalog-page .nf-feature-body {line-height:1.5}
  body.nf-furusato-shell .nf-catalog-page .nf-feature-body h3 {font-size:13px;line-height:1.5}
  body.nf-furusato-shell .nf-catalog-page .nf-feature-body strong {font-size:14px;line-height:1.5}
}
/* Detail: equal portal choices, with a single save control underneath. */
body.nf-furusato-shell .nf-single-summary h1 {overflow-wrap:anywhere;line-height:1.45;margin:0 0 16px}
body.nf-furusato-shell .nf-single-price-review {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 20px;margin-top:20px}
body.nf-furusato-shell .nf-single-price-review .nf-single-price-block {order:2;margin:0 0 0 auto;padding:0;border:0;display:flex;align-items:baseline;justify-content:flex-end;flex-wrap:wrap;gap:8px;min-width:0}
body.nf-furusato-shell .nf-single-price-review .nf-single-price-block strong {font-size:32px;overflow-wrap:anywhere}
body.nf-furusato-shell .nf-single-price-review .nf-single-review-summary {order:1;margin:0;flex-wrap:wrap}
body.nf-furusato-shell .nf-single-quick-info .nf-single-shipping-highlight {background:#f6f3e8;border:0;border-radius:8px;padding:16px;grid-template-columns:1fr;gap:6px}
body.nf-furusato-shell .nf-single-shipping-highlight dt {font-size:16px;color:#303731}
body.nf-furusato-shell .nf-single-shipping-highlight dd {line-height:1.7}
body.nf-furusato-shell .nf-single-apply-grid {display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start;margin-top:20px}
body.nf-furusato-shell .nf-single-portal-controls {display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:stretch}
body.nf-furusato-shell .nf-single-portal-options {display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:stretch}
body.nf-furusato-shell .nf-single-portal-options.has-both {grid-template-columns:repeat(2,minmax(0,1fr))}
body.nf-furusato-shell .nf-single-portal-options.has-multiple {grid-template-columns:repeat(2,minmax(0,1fr))}
body.nf-furusato-shell .nf-single-apply-grid .nf-single-portals {min-width:0;margin:0;padding:0;border:0;background:transparent}
body.nf-furusato-shell .nf-single-apply-grid .nf-single-portals-title {margin:0 0 10px}
body.nf-furusato-shell .nf-single-apply-grid .nf-single-portal-row {display:flex;flex-direction:column;align-items:stretch;gap:10px;padding:12px;margin:0;min-width:0;border:1px solid #e1e7df;border-radius:8px;background:#fff}
body.nf-furusato-shell .nf-single-portal-row .nf-single-portal-controls {margin-top:auto}
body.nf-furusato-shell .nf-single-portal-info {overflow-wrap:anywhere}
body.nf-furusato-shell .nf-single-portal-controls>a {display:flex;align-items:center;justify-content:center;min-height:58px;width:100%;box-sizing:border-box;padding:12px;font-size:18px;line-height:1.5;border-radius:8px;font-weight:700;text-decoration:none!important;color:#fff!important;background:#bf0000}
body.nf-furusato-shell .is-yahoo .nf-single-portal-controls>a {background:#e60033}
body.nf-furusato-shell .nf-single-portal-controls>a:hover {filter:brightness(.9)}
body.nf-furusato-shell .nf-single-portal-controls>a>span {white-space:nowrap}
@media(max-width:980px) {
 body.nf-furusato-shell .nf-single-portal-options.has-multiple .nf-single-portal-controls>a {flex-direction:column;font-size:14px;line-height:1.5;min-height:64px;padding:8px 4px}
}
body.nf-furusato-shell .nf-single-portal-controls>a:focus-visible {outline:3px solid #205b32;outline-offset:3px}
body.nf-furusato-shell .nf-single-save-actions {margin:12px 0;padding:0;min-width:0}
body.nf-furusato-shell .nf-single-save-actions button {width:100%;min-height:44px;padding:10px 8px;font-size:14px;line-height:1.5;border-radius:8px;background:#fff!important;color:#205b32!important;border:1px solid #bdcdbd!important;box-shadow:none}
body.nf-furusato-shell .nf-single-save-actions button[aria-pressed=true] {background:#e9f5ec!important;border-color:#21853a!important}
body.nf-furusato-shell .nf-single-apply-note {font-size:13px;line-height:1.7;color:#59645a;margin:8px 0}
body.nf-furusato-shell .nf-single-browse-tools {border-top:1px solid #e1e7df;margin-top:20px;padding-top:12px}
body.nf-furusato-shell .nf-single-browse-tools button {font-size:13px;background:#f5f7f3!important;color:#435744!important;border:1px solid #dce4d9!important;box-shadow:none}
body.nf-furusato-shell .nf-single-browse-tools>.nf-discovery-actions {display:inline-flex;margin:0}
@media(min-width:981px) {
 body.nf-furusato-shell .nf-single-hero {grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:36px;align-items:start}
 body.nf-furusato-shell .nf-single-media {width:100%;max-width:none;margin:0;position:static}
 body.nf-furusato-shell .nf-single-visual {width:100%;max-width:none;aspect-ratio:1/1;margin:0;background:#fff}
 body.nf-furusato-shell .nf-single-visual img {width:100%;height:100%;object-fit:contain}
 body.nf-furusato-shell .nf-single-summary {min-width:0;padding:0}
 body.nf-furusato-shell .nf-single-summary h1 {font-size:clamp(24px,2vw,32px)}
 body.nf-furusato-shell .nf-gallery-thumb {flex-basis:calc((100% - 24px) / 4)}
}
@media(max-width:720px) {
 body.nf-furusato-shell .nf-single-price-review .nf-single-price-block {margin-left:0}
 body.nf-furusato-shell .nf-single-price-review .nf-single-price-block strong {font-size:28px}
 body.nf-furusato-shell .nf-single-portal-options {gap:10px}
 body.nf-furusato-shell .nf-single-apply-grid .nf-single-portal-row {padding:8px;gap:8px}
 body.nf-furusato-shell .nf-single-portal-controls>a {font-size:13px;padding:10px 4px;min-height:60px}
 body.nf-furusato-shell .nf-single-save-actions button {font-size:14px;padding:10px 8px}
}

/* Compact PC composition with wider outer gutters, without forcing browser zoom. */
@media(min-width:981px) {
 body.nf-furusato-shell #content:has(.nf-single-page) {margin-top:0;padding-top:0}
 body.nf-furusato-shell #content-in:has(.nf-single-page) {padding-top:0}
 body.nf-furusato-shell #content-in>main.main:has(>.nf-single-page) {margin-top:0;padding-top:0!important}
 body.nf-furusato-shell .nf-single-page {padding-top:4px!important;margin-top:0}
 body.nf-furusato-shell .nf-single-navigation {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0 12px;margin:0 0 4px}
 body.nf-furusato-shell .nf-single-navigation .nf-single-breadcrumbs {margin:0;line-height:1.5;min-width:0}
 body.nf-furusato-shell .nf-single-navigation .nf-single-back {display:inline-flex;align-items:center;min-height:32px;margin:0;line-height:1.5}
 body.nf-furusato-shell .nf-single-hero {padding-top:12px;padding-bottom:12px;border-radius:10px}
 body.nf-furusato-shell .nf-furusato-header__inner {min-height:66px;gap:18px}
 body.nf-furusato-shell .nf-furusato-brand__logo {height:38px;max-width:170px}
 body.nf-furusato-shell .nf-furusato-brand__text {font-size:24px}
 body.nf-furusato-shell .nf-furusato-brand {gap:8px}
 body.nf-furusato-shell .nf-furusato-header-search {min-width:0}
 body.nf-furusato-shell .nf-furusato-desktop-nav {gap:2px}
 body.nf-furusato-shell .nf-catalog-page,
 body.nf-furusato-shell .nf-single-page,
 body.nf-furusato-shell .nf-special-wrap:not(.is-mobile-preview) {font-size:15px;line-height:1.6}
 body.nf-furusato-shell #content:has(.nf-catalog-page) {margin-top:16px}
 body.nf-furusato-shell .nf-catalog-main-column .nf-catalog-card-body {padding:10px}
 body.nf-furusato-shell .nf-catalog-main-column .nf-catalog-card h3 {font-size:14px;line-height:1.5}
 body.nf-furusato-shell .nf-catalog-main-column .nf-catalog-price {font-size:15px}
 body.nf-furusato-shell .nf-catalog-products-head h2,
 body.nf-furusato-shell .nf-catalog-count strong {font-size:22px}
 body.nf-furusato-shell .nf-catalog-sort-controls select {font-size:13px;min-width:140px;height:40px}
 body.nf-furusato-shell .nf-catalog-sort-controls label:last-child select {min-width:90px}
 body.nf-furusato-shell .nf-catalog-detail-button {font-size:13px;min-height:40px}
 body.nf-furusato-shell .nf-catalog-page .nf-discovery-toolbar button {font-size:13px}
 body.nf-furusato-shell .nf-catalog-page .nf-feature-head h2 {font-size:20px}
 body.nf-furusato-shell .nf-single-summary h1 {font-size:clamp(23px,1.85vw,28px);margin-bottom:12px}
 body.nf-furusato-shell .nf-single-price-review {margin-top:16px}
 body.nf-furusato-shell .nf-single-price-review .nf-single-price-block strong {font-size:30px}
 body.nf-furusato-shell .nf-single-quick-info .nf-single-shipping-highlight {padding:12px}
 body.nf-furusato-shell .nf-single-apply-grid {margin-top:16px}
 body.nf-furusato-shell .nf-single-portal-controls>a {font-size:16px;min-height:52px;padding:10px 6px}
 body.nf-furusato-shell .nf-special-wrap:not(.is-mobile-preview) {margin-top:20px;margin-bottom:24px}
 body.nf-furusato-shell .nf-special-wrap:not(.is-mobile-preview) h1 {font-size:34px;margin:20px 0}
 body.nf-furusato-shell .nf-special-wrap:not(.is-mobile-preview) h2:not(.nf-special-tile__title) {font-size:26px;margin:12px 0}
 body.nf-furusato-shell .nf-special-wrap:not(.is-mobile-preview) .nf-special-copy {font-size:16px;line-height:1.8;margin:20px 0}
 body.nf-furusato-shell .nf-special-wrap:not(.is-mobile-preview) .nf-special-section {margin:28px 0}
 body.nf-furusato-shell .nf-special-wrap:not(.is-mobile-preview) .nf-special-tile h2 {font-size:20px}
}
/* Landing, filtered results, details and specials share the same width above. */
.nf-capacity-picker {display:grid;gap:8px;margin:16px 0;padding:12px;background:#f5f6f2;border-radius:8px;min-width:0}
.nf-capacity-picker select {width:100%;max-width:100%;min-height:44px;font-size:16px}
.nf-capacity-picker output {font-weight:700;line-height:1.6}
.nf-product-difference {font-size:.9em;color:#435448;line-height:1.6}
/* v0.18.19: connect mobile browse controls to the header without changing desktop. */
@media (max-width:820px) {
 body.nf-furusato-shell #content:has(.nf-catalog-page),
 body.nf-furusato-shell #content-in:has(.nf-catalog-page),
 body.nf-furusato-shell #content-in>main.main:has(>.nf-catalog-page),
 body.nf-furusato-shell main:has(>.nf-catalog-page),
 body.nf-furusato-shell #main.nf-catalog-page,
 body.nf-furusato-shell .nf-catalog-container,
 body.nf-furusato-shell .nf-catalog-main-layout,
 body.nf-furusato-shell .nf-catalog-category-sidebar {
  margin-top:0!important;
  padding-top:0!important;
 }
 body.nf-furusato-shell:has(.nf-catalog-page) .nf-furusato-header__inner {
  padding-bottom:0!important;
 }
 body.nf-furusato-shell .nf-catalog-category-sidebar>.nf-mobile-filter-section-toggle {
  min-height:52px!important;
  margin:0!important;
  padding:8px 6px!important;
  gap:4px!important;
  font-size:clamp(13px,3.9vw,16px)!important;
  line-height:1.4!important;
  border-radius:0 0 5px 5px!important;
 }
 body.nf-furusato-shell .nf-catalog-category-sidebar>.nf-mobile-filter-section-toggle>span:first-child {
  min-width:0;
  overflow-wrap:anywhere;
 }
 body.nf-furusato-shell .nf-catalog-category-sidebar>.nf-mobile-filter-section-toggle>span:last-child {
  width:24px!important;
  height:28px!important;
  flex:0 0 24px!important;
  font-size:11px!important;
 }
}
.nf-furusato-shell.page .post-date,
.nf-furusato-shell.page .date-tags,
.nf-furusato-shell.page .entry-date{display:none!important}
.nf-furusato-shell .footer-meta .author-info{display:none!important}
body.nf-member-register-page-shell .article-footer,
body.nf-member-register-page-shell #footer,
body.nf-member-register-page-shell .nf-footer-branding,
body.nf-member-login-page-shell .article-footer,
body.nf-member-login-page-shell #footer,
body.nf-member-login-page-shell .nf-footer-branding{display:none!important}
