/* 全国開店図鑑 v0.3.5 — lightweight, image-independent presentation.
   Only existing ad placement hooks render ads; this file never styles ad contents. */
.kn-home-utilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 17px}
.kn-utility{display:flex;flex-direction:column;justify-content:center;min-width:0;border:1px solid var(--kn-line);border-radius:7px;padding:15px 17px;background:#fff;min-height:96px}
.kn-utility:hover{border-color:#d1b0a6;background:#fffdfa}
.kn-utility-name{color:#606e71;font-weight:800;font-size:12px;line-height:1.55}
.kn-utility>strong{color:var(--kn-red);font-size:26px;line-height:1.35;font-weight:900;margin-top:3px}
.kn-utility>strong small{font-size:13px;margin-left:4px}
.kn-utility>strong.kn-utility-action{font-size:13px;margin-top:8px}
.kn-home-dates{background:#f7f7f4;border:1px solid var(--kn-line);border-radius:9px;padding:15px;margin:0 0 23px}
.kn-lite-title{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:12px}
.kn-lite-title h2{font-size:17px;font-weight:900;margin:0;line-height:1.5;letter-spacing:-.025em}
.kn-lite-title h2::before{content:"";width:4px;height:18px;display:inline-block;background:var(--kn-red);vertical-align:-3px;margin-right:9px;border-radius:2px}
.kn-lite-title a{color:var(--kn-red);font-size:11px;font-weight:800;white-space:nowrap}
.kn-date-cards{display:flex;gap:9px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;padding:0 0 6px;overscroll-behavior-x:contain}
.kn-date-card{display:flex;flex-direction:column;min-width:143px;max-width:143px;min-height:163px;scroll-snap-align:start;background:#fff;border:1px solid #e7e4df;border-radius:7px;padding:12px 11px;gap:6px}
.kn-date-card:hover{border-color:#d4a69a;background:#fff9f6}
.kn-date-card time{color:var(--kn-red);font-weight:900;font-size:14px;font-variant-numeric:tabular-nums}
.kn-date-card-icon{width:45px;height:44px;border-radius:5px;display:flex;align-items:center;justify-content:center;color:var(--kn-red);background:#fbf0eb}
.kn-date-card-icon .kn-visual-symbol{width:26px;height:26px}
.kn-date-card strong{font-size:12px;line-height:1.4;letter-spacing:-.015em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.kn-date-card small{font-size:10px;color:#788584;line-height:1.3;margin-top:auto}
/* Editorial news rows become informational cards, without images unless media already owned/assigned. */
.news-column-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.news-row{min-width:0;background:#fff;border:1px solid var(--kn-line);border-radius:8px;padding:13px;display:grid;grid-template-columns:65px 94px minmax(0,1fr);gap:9px;align-items:start;position:relative}
.news-row .news-date{font-size:21px;letter-spacing:-.045em}
.news-row .news-date small{margin-top:2px}
.news-row .news-visual{display:block;width:94px;aspect-ratio:1.1;border-radius:5px;overflow:hidden;min-width:0;align-self:stretch}
.kn-card-photo{display:block;width:100%;height:100%;object-fit:cover}
.kn-card-graphic{width:100%;height:100%;min-height:86px;padding:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#f3f5f3;color:#536e77;text-align:center}
.kn-card-kind-food{background:#fff0e9;color:#ad5537}.kn-card-kind-fitness{background:#ecf4f0;color:#387c69}.kn-card-kind-fashion{background:#f4eff5;color:#795e7e}.kn-card-kind-daily{background:#f9f3e8;color:#9c7237}.kn-card-kind-health{background:#eaf4f6;color:#4c7890}.kn-card-kind-market{background:#edf3f9;color:#5776a4}
.kn-graphic-label{font-size:10px;line-height:1.3;font-weight:800}
.news-row .news-copy{min-width:0;padding-right:6px}
.news-row .news-copy h3{font-size:14px;line-height:1.55;margin:3px 0 5px}
.news-row .news-copy p{font-size:11px;line-height:1.65;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.news-row .news-meta{font-size:10px;margin-bottom:4px}
.news-row .news-arrow{position:absolute;right:8px;top:7px;font-size:16px;padding:0}
/* Strengthen existing region / brand links, but do not add queries. */
.hub-discovery .hub-grid{gap:9px 12px;margin-top:12px}
.hub-discovery .hub-line{padding:12px 13px;border:1px solid var(--kn-line);border-radius:6px;background:#fff;line-height:1.5}
.hub-discovery .hub-line:hover{border-color:#d1aaa0;background:#fffaf8}
.hub-discovery .hub-line small{font-size:12px}
/* Existing verified facts remain the only facts used by article cards. */
.article-main .store-facts{background:#f7f8f6;border-radius:9px}
.article-quick-facts{background:#fff;border-radius:7px}
.article-quick-facts strong{overflow-wrap:anywhere}
.kn-related-news{margin:28px 0 21px;padding:19px;border:1px solid var(--kn-line);border-radius:8px;background:#f7f7f4}
.kn-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.kn-related-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--kn-line);border-radius:6px;background:#fff}
.kn-related-card:hover{border-color:#d2aaa0}
.kn-related-visual{width:100%;height:92px;overflow:hidden;display:block}
.kn-related-visual>.kn-card-graphic{min-height:92px}
.kn-related-visual .kn-visual-symbol{width:30px;height:30px}
.kn-related-card-copy{padding:10px;display:block}
.kn-related-card-copy small{display:block;color:var(--kn-red);font-size:10px;line-height:1.4;margin-bottom:4px;font-weight:750}
.kn-related-card-copy strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:12px;line-height:1.55;font-weight:800}
@media(max-width:1080px){.news-column-grid{grid-template-columns:1fr}.news-row{grid-template-columns:70px 96px minmax(0,1fr)}}
@media(max-width:760px){
 .front-intro{padding-top:22px}.front-search{margin:16px 0 17px}
 .kn-home-utilities{gap:7px;margin:0 0 13px}
 .kn-utility{padding:9px 8px;min-height:73px;border-radius:6px}
 .kn-utility-name{font-size:10px}
 .kn-utility>strong{font-size:21px}
 .kn-utility>strong small{font-size:10px}
 .kn-utility>strong.kn-utility-action{font-size:10px;margin-top:5px}
 .kn-home-dates{padding:12px;margin-bottom:19px}
 .kn-lite-title h2{font-size:14px}.kn-lite-title h2::before{height:14px;vertical-align:-2px}
 .kn-date-card{min-width:136px;max-width:136px;min-height:153px;padding:10px}
 .news-column-grid{grid-template-columns:1fr;gap:10px}
 .news-row{padding:12px;grid-template-columns:55px 72px minmax(0,1fr);gap:8px;align-items:start}
 .news-row .news-date{font-size:17px}
 .news-row .news-visual{width:72px;min-height:84px}
 .kn-card-graphic{min-height:84px}
 .kn-card-graphic .kn-visual-symbol{width:29px;height:29px}
 .kn-graphic-label{font-size:9px}
 .news-row .news-copy h3{font-size:13px;margin:2px 0}
 .news-row .news-copy p{font-size:10px;-webkit-line-clamp:2}
 .news-row .news-meta{font-size:9px;padding-right:10px}
 .hub-discovery .hub-grid{gap:8px}
 .hub-discovery .hub-line{padding:11px 8px}
 .kn-related-news{padding:12px;margin:22px 0 17px}
 .kn-related-grid{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:5px}
 .kn-related-card{flex:0 0 66%;scroll-snap-align:start}
 .kn-related-visual{height:80px}
}
@media(max-width:390px){.news-row{grid-template-columns:48px 65px minmax(0,1fr);gap:7px}.news-row .news-visual{width:65px}.kn-date-card{min-width:128px;max-width:128px}.kn-utility>strong.kn-utility-action{font-size:9px}}
