/*
 * このまち＋ 麺類食べ歩き v1.9.9
 * Visual refresh only. Scoped to .kmr-root and plugin-owned overlays.
 * No ad-slot, map geometry, carousel mechanics, image metadata, or WP admin alterations.
 */
.kmr-root{
  --kmr-ink:#23312e;
  --kmr-soft:#66736e;
  --kmr-accent:#ba5b3f;
  --kmr-accent-deep:#98472e;
  --kmr-cream:#faf8f3;
  --kmr-line:#e6e9e2;
  --kmr-broth:#f6eee2;
  --kmr-bowl:#ffffff;
  --kmr-modern-forest:#275a4a;
  --kmr-modern-forest-deep:#173b32;
  --kmr-modern-surface:#f5f7f3;
  --kmr-modern-shadow:0 6px 26px rgba(30,51,44,.045);
  color:var(--kmr-ink);
  background:transparent;
  letter-spacing:.002em;
  line-height:1.7;
}
.kmr-root :is(a,button,input,textarea,select,summary):focus-visible{
  outline:3px solid #2b766a!important;
  outline-offset:3px;
}
.kmr-root :is(h2,h3,h4){text-wrap:pretty;letter-spacing:-.026em;}
.kmr-root .kmr-kicker,.kmr-root .kmr-eyebrow{
  color:#946348;font-size:10px;letter-spacing:.12em;font-weight:800;
}

/* Hero: restrained editorial card, rather than repeated gradient ornaments. */
.kmr-root .kmr-hero{
  padding:clamp(23px,3.4vw,39px);
  border-radius:20px;
  background:linear-gradient(110deg,#f0f5ee 0%,#fbfaf5 58%,#fff9ee 100%);
  border:1px solid #dde6dc;
  box-shadow:none;
}
.kmr-root .kmr-hero:before,.kmr-root .kmr-hero:after{display:none;content:none;}
.kmr-root .kmr-eyebrow{color:#3b765f;font-size:10px;letter-spacing:.16em;}
.kmr-root .kmr-hero h2{
  color:#1d3b33!important;text-shadow:none!important;
  font-size:clamp(26px,3.2vw,38px)!important;
  font-weight:850!important;margin:8px 0 10px!important;
}
.kmr-root .kmr-hero p{color:#596e65;line-height:1.8;font-size:13px;}
.kmr-root .kmr-hero-bottom{
  border-top:1px solid #dbe6d9;margin-top:19px;padding-top:14px;
  color:#52685e;flex-wrap:wrap;gap:7px 14px;
}
.kmr-root .kmr-hero-bottom strong{color:#276b54;font-weight:850;}
.kmr-root .kmr-hero-bottom a{
  color:#1f654e;display:inline-flex;align-items:center;gap:5px;
  min-height:39px;padding:7px 12px;border:1px solid #bcd3c7;
  border-radius:100px;background:#ffffffc7;font-size:12px;
  text-decoration:none;font-weight:800;
}

/* Directory: a single consistent navigation surface, original 16-item order. */
.kmr-root .kmr-directory{
  margin:18px 0 20px;padding:22px;
  border:1px solid #e1e8e1;border-radius:18px;
  background:#fff;box-shadow:var(--kmr-modern-shadow);
}
.kmr-root .kmr-directory-header{gap:16px;margin-bottom:14px;align-items:center;}
.kmr-root .kmr-directory h3{margin:2px 0!important;color:#1f382f!important;font-size:clamp(19px,2.4vw,23px)!important;}
.kmr-root .kmr-directory-header p{color:#6e7972;font-size:12px;}
.kmr-root .kmr-directory-count{background:#e9f1ea;color:#356653;font-weight:800;border-radius:100px;}
.kmr-root .kmr-directory-links{gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));}
.kmr-root a.kmr-directory-link{
  min-height:54px;display:flex;gap:9px;align-items:center;
  padding:9px 11px;border:1px solid #e7ebe5;border-radius:12px;
  background:#fafbf9;color:#31443d!important;
  font-size:12px;line-height:1.45;font-weight:740;
  transition:background-color .15s,border-color .15s,box-shadow .15s;
}
.kmr-root a.kmr-directory-link:hover,.kmr-root a.kmr-directory-link:focus-visible{
  background:#eff6f1;border-color:#a4c4b1;box-shadow:none;
}
.kmr-root .kmr-directory-index{
  display:grid;place-items:center;flex:none;
  width:26px;height:26px;border-radius:9px;
  background:#ecf2ec;color:#3d715b;font-size:10px;
}
.kmr-root .kmr-directory-arrow{color:#67917b;font-size:17px;}
.kmr-root .kmr-directory-note{font-size:10px;color:#8a908a;margin-top:12px;}
.kmr-root .kmr-directory-expand{border:1px solid #d1dfd5;border-radius:12px;color:#275d4b;background:#eef5ef;}

/* All major sections share a flat surface and a coherent rhythm. */
.kmr-root :is(.kmr-extras-stats,.kmr-calendar-section,.kmr-prefmap,.kmr-explore-map-section,.kmr-v197-section,.kmr-submit-section){
  background:#fff;border:1px solid #e3e8e1;border-radius:17px;
  box-shadow:var(--kmr-modern-shadow);
}
.kmr-root :is(.kmr-extras-stats,.kmr-calendar-section,.kmr-prefmap,.kmr-explore-map-section,.kmr-v197-section){
  padding:clamp(16px,2.6vw,25px);margin:18px 0;
}
.kmr-root .kmr-section{margin:25px 0 32px;}
.kmr-root .kmr-section-heading{gap:12px;margin-bottom:16px;align-items:flex-start;}
.kmr-root :is(.kmr-section-heading h3,.kmr-submit-section h3,.kmr-prefmap-top h3,.kmr-extras-stats h3,.kmr-calendar-section h3,.kmr-v197-section h3){
  font-size:clamp(19px,2.7vw,25px)!important;
  line-height:1.4!important;color:#213b31!important;margin-top:2px!important;
  font-weight:830!important;
}
.kmr-root :is(.kmr-section-heading p,.kmr-prefmap-top p,.kmr-v197-section p){color:#6b7972;font-size:12px;line-height:1.75;}
.kmr-root .kmr-mini-badge{border-radius:100px;background:#eff3ed;color:#43715b;font-size:10px;padding:5px 10px;}
.kmr-root .kmr-v197-section{margin:16px 0!important;}

/* Modern fold headers. Keep section heading and toggle in one line. */
.kmr-root .kmr-nav-fold-head{
  min-width:0;display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;column-gap:15px;row-gap:8px;
}
.kmr-root .kmr-nav-fold-head > .kmr-kicker{flex-basis:100%;line-height:1.2;}
.kmr-root .kmr-nav-fold-head > h3{
  flex:1;min-width:0;margin:0!important;
  font-size:clamp(18px,2.5vw,23px)!important;
}
.kmr-root .kmr-nav-fold-head > .kmr-prefmap-top,
.kmr-root .kmr-nav-fold-head > .kmr-section-heading{flex:1;min-width:0;align-items:center;}
.kmr-root .kmr-nav-fold-head > .kmr-prefmap-top{
  padding:0;border:0;align-items:center;
}
.kmr-root .kmr-nav-fold-head > .kmr-prefmap-top h3{margin:0!important;}
.kmr-root .kmr-nav-fold-head > .kmr-section-heading{margin:0;}
.kmr-root .kmr-nav-fold-head > .kmr-section-heading h3{margin:0!important;}
.kmr-root .kmr-nav-fold-control{
  flex:none;align-self:center;margin:0;padding:9px 12px;
  display:inline-flex;align-items:center;justify-content:center;
  min-height:42px;min-width:auto;border:1px solid #c8ded0;
  border-radius:11px;background:#f1f6f0;
  color:#34664f;font-size:12px;font-weight:800;
}
.kmr-root .kmr-nav-fold-content{margin-top:16px;}
.kmr-root .kmr-nav-is-collapsed .kmr-nav-fold-head{margin:0;}
.kmr-root .kmr-v197-fold>summary{
  gap:14px;min-height:47px;align-items:center;
}
.kmr-root .kmr-v197-fold>summary h3{margin:0!important;min-width:0;flex:1;}
.kmr-root .kmr-v197-fold>summary:after{
  content:'開く  ＋';flex:none;color:#34664f;
  background:#edf5ed;border:1px solid #cfdfd1;
  border-radius:11px;min-width:86px;text-align:center;
  padding:8px 12px;font-size:12px;font-weight:800;
}
.kmr-root .kmr-v197-fold[open]>summary:after{content:'閉じる  −';}
.kmr-root .kmr-v197-fold[open]>summary{padding-bottom:13px;margin-bottom:15px;border-color:#e8ede7;}

/* Controls: one typography and touch target language. */
.kmr-root :is(.kmr-filters input,.kmr-filters select,.kmr-suggest-form input,.kmr-suggest-form textarea,.kmr-advanced-filters input,.kmr-advanced-filters select,.kmr-v197-section input,.kmr-v197-section select,.kmr-v197-section textarea){
  min-height:44px;border:1px solid #d8e1d8;border-radius:11px;
  background:#fff;color:#273a32;
}
.kmr-root .kmr-filters{
  padding:13px;border:1px solid #e0e8dd;border-radius:14px;
  background:#f6f8f5;box-shadow:none;
}
.kmr-root .kmr-filters button,.kmr-root .kmr-send-button,
.kmr-root .kmr-explore-button:not(.kmr-explore-button--outline){
  background:#285b49!important;border-color:#285b49!important;color:#fff!important;
  box-shadow:none;border-radius:11px;
}
.kmr-root .kmr-filters button:hover,.kmr-root .kmr-explore-button:not(.kmr-explore-button--outline):hover{
  background:#184735!important;border-color:#184735!important;
}
.kmr-root .kmr-filter-clear{color:#627269;font-weight:750;}
.kmr-root .kmr-result-number{font-size:12px;color:#67776d;}
.kmr-root :is(.kmr-explore-button--outline,.kmr-explore-close,.kmr-view-switch button,.kmr-v197-section button,.kmr-calendar-toolbar a){
  border-radius:10px;border-color:#d3e1d6;color:#2e654d;background:#f6faf6;box-shadow:none;
}
.kmr-root .kmr-explore-panel-bar{background:#f4f7f2;border-color:#dfe8dc;border-radius:12px;box-shadow:none;}
.kmr-root .kmr-view-switch button[aria-pressed="true"]{background:#265b49;color:#fff;border-color:#265b49;}

/* Visit cards: photography-first, less visual clutter, same image mechanics. */
.kmr-root .kmr-grid{gap:clamp(14px,2vw,22px);}
.kmr-root .kmr-card{
  background:#fff;border:1px solid #e1e7e1;border-radius:17px;
  box-shadow:var(--kmr-modern-shadow);
}
.kmr-root .kmr-visit-carousel{background:#fff;}
.kmr-root .kmr-carousel-top{background:#f3f6f1;border-color:#e3e9e0;color:#365b4b;}
.kmr-root .kmr-card-body{padding:18px 19px 19px;}
.kmr-root .kmr-card-body h4{color:#20392f!important;font-weight:820!important;}
.kmr-root .kmr-shop-serial{background:#edf4ed;border:1px solid #d5e5d7;color:#35644f;border-radius:100px;}
.kmr-root .kmr-areas span{border-radius:100px;background:#eef3ee;color:#406b55;padding:3px 8px;}
.kmr-root .kmr-dish{color:#ad573b;}
.kmr-root .kmr-review{color:#63716a;line-height:1.75;}
.kmr-root .kmr-shop-details{border:0;border-top:1px solid #ecf0eb;border-bottom:1px solid #ecf0eb;}
.kmr-root .kmr-shop-details dt{color:#66766c;}
.kmr-root .kmr-links a,.kmr-root .kmr-article-link,.kmr-root .kmr-explore-card-link{
  background:#fff;border:1px solid #e0e7df;border-radius:10px;color:#4f6757!important;
}
.kmr-root .kmr-like{
  background:#fff4f0!important;border:1px solid #efc8bc!important;
  border-radius:10px!important;box-shadow:none;color:#a7513e!important;
}
.kmr-root .kmr-visit-carousel .kmr-thumb{border-radius:8px;}
.kmr-root .kmr-thumbs{background:#fff;}
.kmr-root .kmr-repeat-date-display time{background:#f7f5ee;border-color:#ebe4d7;color:#7a654d;}
.kmr-root .kmr-pagination a{background:#fff;border-color:#e3eae2;border-radius:10px;}
.kmr-root .kmr-pagination a.is-current{background:#285b49;border-color:#285b49;color:#fff;}

/* Statistic tiles, map controls, calendar, new dishes and secondary sections. */
.kmr-root .kmr-stat{background:#f5f8f4;border:1px solid #e4ebe2;border-radius:12px;}
.kmr-root .kmr-stat strong{color:#2b6650;}
.kmr-root .kmr-prefmap-visual{background:#f6f8f4;border:1px solid #e6ede7;border-radius:13px;}
.kmr-root .kmr-prefmap-side{background:#fff;border-color:#e7ede7;border-radius:13px;}
.kmr-root .kmr-prefmap-visited a{background:#f7f9f5;border-color:#e4ebe2;border-radius:10px;}
.kmr-root .kmr-prefmap-visited a strong{color:#3c745b;}
.kmr-root .kmr-calendar-cell,.kmr-root .kmr-calendar-blank{border-color:#e8ede6;border-radius:9px;}
.kmr-root .kmr-calendar-cell.has-visit{background:#ebf3ec;border-color:#c2d9c5;}
.kmr-root .kmr-calendar-cell button{background:#2c6954;border-radius:8px;}
.kmr-root .kmr-picks{background:#f7f9f5;border-color:#e2ebe0;border-radius:17px;}
.kmr-root .kmr-pick-card{background:#fff;border:1px solid #e4eae4;border-radius:13px;box-shadow:none;}
.kmr-root .kmr-v197-new-item{border-color:#e4eae3;border-radius:12px;background:#fff;}
.kmr-root .kmr-v197-badge{background:#f4f7f3;border:1px solid #dce8df;border-radius:13px;}
.kmr-root .kmr-v197-badge.is-locked{opacity:.52;filter:grayscale(.75);}
.kmr-root .kmr-v197-annual-summary{background:#eef4ed;border-radius:13px;}
.kmr-root .kmr-v197-month-chart span{background:#4d886c;}
.kmr-root .kmr-v197-timeline a{border-color:#edf0ec;color:#30483b;}
.kmr-root .kmr-v197-ranking li{border-color:#edf0ec;}
.kmr-root .kmr-v197-ranking li a{color:#30483b;}
.kmr-root .kmr-v197-ranking li>b{color:#ab513c;}
.kmr-root .kmr-submit-section{background:#fff;padding:clamp(16px,3vw,27px);}
.kmr-root .kmr-submission-terms{background:#f4f7f4;}
.kmr-root .kmr-upload{background:#f8faf7;border-color:#d4e0d2;}

/* Shared controls inside plugin overlays; never style site-wide theme dialogs. */
.kmr-directory-sheet{background:#fff;border-radius:22px 22px 0 0;border-top:1px solid #dfe8dd;}
.kmr-directory-sheet-title{border-color:#e7eee5;color:#244337;}
.kmr-directory-sheet-title small{color:#728076;}
.kmr-directory-sheet-close{background:#f4f7f4;border-color:#dde5dc;color:#244637;border-radius:11px;}
.kmr-directory-drawer-links .kmr-directory-link{background:#f8faf7;color:#29463a;border-color:#e3ebe3;border-radius:12px;}
.kmr-directory-drawer-links .kmr-directory-index{color:#4a7a60;}
.kmr-directory-drawer-links .kmr-directory-arrow{color:#608973;}
.kmr-quick-dialog,.kmr-explore-qr-dialog,.kmr-share-panel{background:#fff;border-radius:18px;}
.kmr-quick-fab{background:#285c49;border:1px solid #fff;box-shadow:0 5px 19px rgba(20,52,38,.21);}
.kmr-quick-submit{background:#285b49;}
.kmr-mobile-nav{background:rgba(255,255,255,.97);border-top:1px solid #e1e9df;box-shadow:0 -5px 25px rgba(23,58,43,.07);}
.kmr-mobile-nav a,.kmr-mobile-nav button{color:#456453;border-radius:12px;}
.kmr-mobile-nav svg{display:block;width:22px;height:22px;stroke:currentColor;stroke-width:1.8;flex:none;}
.kmr-mobile-nav :is(a,button):active{background:#edf4ec;}
.kmr-mobile-nav a:focus-visible,.kmr-mobile-nav button:focus-visible{outline:2px solid #2f7057;outline-offset:1px;}

@media(max-width:1050px){
  .kmr-root .kmr-directory-links{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:720px){
  .kmr-root{font-size:14px;line-height:1.65;}
  .kmr-root .kmr-hero{padding:21px 18px 19px;border-radius:16px;}
  .kmr-root .kmr-hero h2{font-size:clamp(24px,6vw,29px)!important;}
  .kmr-root .kmr-hero p{font-size:12px;line-height:1.7;}
  .kmr-root .kmr-hero-bottom{margin-top:14px;padding-top:12px;gap:9px;}
  .kmr-root .kmr-hero-bottom a{font-size:11px;min-height:40px;}
  .kmr-root .kmr-directory{padding:14px;margin:13px 0 16px;border-radius:15px;}
  .kmr-root .kmr-directory-header{margin-bottom:11px;}
  .kmr-root .kmr-directory h3{font-size:18px!important;}
  .kmr-root .kmr-directory-header p{font-size:11px;}
  .kmr-root .kmr-directory-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
  .kmr-root a.kmr-directory-link{min-height:49px;padding:7px 8px;gap:7px;font-size:11px;border-radius:10px;}
  .kmr-root .kmr-directory-index{width:22px;height:22px;border-radius:7px;font-size:9px;}
  .kmr-root .kmr-directory.js-compact:not(.is-expanded) .kmr-directory-links a:nth-child(n+5){display:none;}
  .kmr-root .kmr-directory.js-compact .kmr-directory-expand{
    display:flex;width:100%;min-height:44px;margin-top:9px;
    background:#edf5ef;color:#31634f;border:1px solid #c9dfd0;
    border-radius:10px;font-size:12px;font-weight:800;
  }
  .kmr-root .kmr-directory-note{font-size:10px;margin-top:9px;line-height:1.5;}
  .kmr-root :is(.kmr-extras-stats,.kmr-calendar-section,.kmr-prefmap,.kmr-explore-map-section,.kmr-v197-section){
    padding:14px;margin:11px 0;border-radius:14px;
  }
  .kmr-root .kmr-section{margin:19px 0 25px;}
  .kmr-root .kmr-section-heading{flex-wrap:wrap;gap:7px;}
  .kmr-root .kmr-section-heading h3,.kmr-root .kmr-submit-section h3{font-size:20px!important;}
  .kmr-root .kmr-section-heading p{font-size:11px;}
  .kmr-root .kmr-nav-fold-head{gap:7px 10px;align-items:center;}
  .kmr-root .kmr-nav-fold-head > .kmr-kicker{display:none;}
  .kmr-root .kmr-nav-fold-head > h3{font-size:18px!important;}
  .kmr-root .kmr-nav-fold-head > .kmr-prefmap-top h3,.kmr-root .kmr-nav-fold-head > .kmr-section-heading h3{font-size:18px!important;}
  .kmr-root .kmr-nav-fold-head > .kmr-prefmap-top p,.kmr-root .kmr-nav-fold-head > .kmr-section-heading p{display:none;}
  .kmr-root .kmr-nav-fold-head > .kmr-section-heading .kmr-mini-badge{display:none;}
  .kmr-root .kmr-nav-fold-control{min-height:40px;min-width:92px;padding:7px 9px;font-size:11px;border-radius:10px;}
  .kmr-root .kmr-nav-fold-content{margin-top:12px;}
  .kmr-root .kmr-v197-fold>summary h3{font-size:18px!important;line-height:1.45!important;}
  .kmr-root .kmr-v197-fold>summary:after{min-width:78px;padding:8px 10px;font-size:11px;}
  .kmr-root .kmr-card{border-radius:14px;}
  .kmr-root .kmr-card-body{padding:15px 14px;}
  .kmr-root .kmr-card-body h4{font-size:19px!important;}
  .kmr-root .kmr-filters{padding:10px;gap:8px;}
  .kmr-root :is(.kmr-filters input,.kmr-filters select,.kmr-v197-section input,.kmr-v197-section select,.kmr-v197-section textarea){font-size:16px;}
  .kmr-root .kmr-like,.kmr-root .kmr-article-link{min-height:43px;}
  .kmr-root .kmr-picks{padding:15px 12px;}
  .kmr-root .kmr-stat{padding:10px 5px;}
  .kmr-root .kmr-calendar-cell,.kmr-root .kmr-calendar-blank{min-height:52px;}
  .kmr-root .kmr-directory-sheet{padding:17px 15px calc(22px + env(safe-area-inset-bottom));}
  .kmr-directory-drawer-links{grid-template-columns:repeat(2,minmax(0,1fr));}
  .kmr-directory-drawer-links .kmr-directory-link{min-height:50px;font-size:11.5px;}
  .kmr-mobile-nav{padding:6px 8px calc(6px + env(safe-area-inset-bottom));min-height:64px;}
  .kmr-mobile-nav a,.kmr-mobile-nav button{min-height:49px;gap:3px;padding:4px 1px!important;color:#3c6150;}
  .kmr-mobile-nav a>span,.kmr-mobile-nav button>span{font-size:20px;}
  .kmr-mobile-nav small{font-size:10px;line-height:1.2;}
  .kmr-quick-fab{bottom:calc(81px + env(safe-area-inset-bottom));}
}
@media(max-width:365px){
  .kmr-root .kmr-directory{padding:12px 10px;}
  .kmr-root a.kmr-directory-link{font-size:10.5px;padding:7px 6px;gap:5px;}
  .kmr-root .kmr-directory-index{width:20px;height:20px;}
  .kmr-directory-drawer-links{grid-template-columns:1fr;}
  .kmr-root .kmr-nav-fold-head > h3{font-size:17px!important;}
  .kmr-root .kmr-nav-fold-control{min-width:82px;}
}
@media(prefers-reduced-motion:reduce){.kmr-root *{transition:none!important;}}
